2014-09-16 34 views
7

Próbuję uzyskać sonar do pracy dla projektu o profilu jakości, który zawiera zasady Findbugs.Konflikt Sonar Xerces Findbugs and ivy: report

Jednak przy analizie projektu chrashes sonar anttask z powodu następującego błędu:

Caused by: java.io.IOException: SAX2 driver class org.apache.xerces.parsers.SAXParser not found 
    at edu.umd.cs.findbugs.filter.Filter.<init>(Filter.java:134) 
    at edu.umd.cs.findbugs.FindBugs.configureFilter(FindBugs.java:516) 
    at edu.umd.cs.findbugs.FindBugs2.addFilter(FindBugs2.java:374) 
    at org.sonar.plugins.findbugs.FindbugsExecutor.execute(FindbugsExecutor.java:136) 
    ... 50 more 

tego projektu Zależności są rozwiązywane z bluszczu, i nie ma zależności na temat bibliotek takich jak Xerces i Xalan. Również zrozumiałem, że xerces jest zawarte w JVM i zawsze jest przyjemnością radzić sobie z ...

Próbowałem dodać wszystkie rodzaje zależności do użycia dla właściwości sonar.libraries, ale bez efektu dodawania lokalne biblioteki JRE również nie wydają się mieć dużego wpływu.

W jaki sposób mogę uruchomić analizę odkrywców (w sposób niezależny od maszyny)?

(wersja Sonar 4.4, plugin findbugs3)

Aktualizacja: Właśnie się dowiedziałem, źródło konfliktu mającego cel wcześniej w budowie, usuwając to rozwiązuje go. Oczywiście bardzo lubię też utrzymywać mój raport na temat bluszczu, więc wciąż pytanie brzmi, jak mogę to usprawnić ...?

+0

Wygląda na to, że masz do czynienia z tym błędem: https://jira.codehaus.org/browse/MSONAR-56, którego nie udało nam się odtworzyć lokalnie. Czy byłbyś w stanie dostarczyć przykładowy projekt Ant, aby pomóc nam w odtworzeniu tego problemu? –

+0

Postaram się zrobić czysty test przypadkiem dziś lub jutro i zaktualizuję raport o błędzie – pvgoddijn

Odpowiedz

10

Po uaktualnieniu nasz sonar do v4.4 i zmieniając profil Jakości Sonar jest z „Sonar sposób” (Java) do „Sonar sposób z Findbugs” Ja przyszedłem po drugiej stronie tej samej wyjątku narzeka prowadzenia Sax2:

Can not execute SonarQube analysis: Can not execute Find bugs: SAX2 driver class org.apache.xerces.parsers.SAXParser not found 

mam wokół niego dodając sterownik do mojego polecenia maven:

Dorg.xml.sax.driver=com.sun.org.apache.xerces.internal.parsers.SAXParser

Bellow był mój rzeczywisty polecenia Maven do czyszczenia, skompilować, uruchomić test, analizować kod i przesłać statystyk do sonaru (o poprawkę w wierszu poleceń spełnia także wymagania dotyczące preferencji użytkownika, które nie są specyficzne dla komputera Brak zmian w kodzie źródłowym)

$ mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.fai 
lure.ignore=true -Dorg.xml.sax.driver=com.sun.org.apache.xerces.internal.parsers. 
SAXParser sonar:sonar