2014-09-16 30 views
7

Sto cercando di far funzionare il sonar per un progetto con un profilo di qualità che include le regole di Findbugs.Conflitto di sonar Xerces ed edera: report

Tuttavia quando si analizza il progetto i chrashes sonar anttask con il seguente errore:

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 

su questo progetto le dipendenze sono risolte con l'edera, e non ha dipendenze da librerie come xerces e Xalan. Inoltre ho capito che xerces è incluso incluso nella JVM ed è sempre un piacere trattare con ...

ho provato ad aggiungere tutti i tipi di dipendenze da usare per la proprietà sonar.libraries ma senza alcun effetto aggiungendo il anche le librerie locali di JRE non sembrano avere molto effetto.

Come si esegue l'analisi di findbugs (in modo indipendente dalla macchina)?

(versione Sonar: 4.4, plug findbugs3)

Aggiornamento: Ho appena scoperto la fonte del conflitto sta avendo un bersaglio in precedenza nella build, rimuoverlo lo ripara. Ovviamente mi piace molto anche tenere la relazione sull'edera, quindi la domanda è ancora come faccio a farlo funzionare ...?

+0

Sembra che tu stia affrontando questo bug: https://jira.codehaus.org/browse/MSONAR-56 che non siamo riusciti a riprodurre localmente. Sareste in grado di fornire un esempio di progetto Ant per aiutarci a riprodurre questo problema? –

+0

proverò a fare un test case pulito oggi o domani e aggiornerò il bug report – pvgoddijn

risposta

10

Dopo l'aggiornamento il nostro sonar per v4.4 e cambiando il profilo della qualità del Sonar da 'modo Sonar' (Java) a 'modo Sonar con Findbugs' ho mai incontrato questa stessa eccezione lamentano la guida SAX2:

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

ho ottenuto intorno ad esso con l'aggiunta al conducente di mio comando Maven:

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

Bellow era il mio comando effettivo Maven per la pulizia, la compilazione, test di eseguire, analizzare il codice e caricare le statistiche di sonar (avendo la correzione nella riga di comando soddisfa anche la correzione delle preferenze non specifica per macchina e richiede nessun cambiamento al codice sorgente)

$ 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