2015-04-24 4 views
5

Ich habe einen Leistungstest als Maven Submodul zu meinem Hauptmodul erstellt. Alle Testklassen werden unter src geschrieben/Haupt/java und nicht src/Test/javakann nicht zweimal indiziert werden - testSourceDirectory und sourceDirectory sind gleich

Ich bin in der Lage, das Projekt als Glas zu verpacken und es um Leistung testen mein Projekt.

Ich wollte mvn test ausführen. Für mvn test zu arbeiten, sollte ich <testSourceDirectory> Wert gesetzt haben. Wie in diesem Fall habe ich meinen Code in src/main/java gesetzt ich dies:

<testSourceDirectory>src/main/java</testSourceDirectory> 

Jetzt mvn test funktioniert.

Aber das Problem ist Sonar Build fehlschlägt mit Fehler beschweren: can't be indexed twice. Was ist offensichtlich, wie für meine Pom testSourceDirectory und sourceDirectory sind die gleichen.

[ERROR] Failed to execute goal 
org.codehaus.mojo:sonar-maven-plugin:2.5:sonar (default-cli) 
    on project Blah: File [relative=XYZ.java, abs=/Path/XYZ.java] can't be indexed twice. 
Please check that inclusion/exclusion patterns produce 
disjoint sets for main and test files -> 

Wie behebt man dieses Problem?

+0

Einige Protokolle sein kann? "Datei bereits indiziert" ist eine eher knappe Information. – Olivier

+0

Aktualisierte die Frage mit dem genauen Fehler. –

Antwort

2

Dies ist keine standardmäßige Maven-Verwendung, aber Sie können die SonarQube-Analyse mithilfe von Ausschlüssen problemlos reparieren. sonar.exclusions = src/main/java/** oder sonar.test.exclusions = src/main/java/**

je nachdem, ob Sie Ihre Quelldateien als Tests oder Hauptdateien in Betracht gezogen werden .

Aber die richtige Maven Weg wäre, um Ihre Tests in src/test/java zu setzen und ackage Ihre Tests: https://maven.apache.org/guides/mini/guide-attached-tests.html

+0

Setzen Sie 'sonar.exclusions = src/main/java/**' oder 'sonar.test.exclusions = src/main/java/**' in 'sonar.properties' und starten Sie den Sonarserver neu? Immer noch funktioniert es nicht für mich, die gleiche Ausnahme zu sehen –

+0

Stellt sich heraus, dass ich ' src' in pom.xml hatte und das war das Problem –

2

Ich war vor dem gleichen Problem. Schließlich löste es mit Hilfe der folgenden Dokumentation: -

https://github.com/SonarOpenCommunity/sonar-cxx/wiki/FAQ

Q: ERROR: Caused by: File [...] can't be indexed twice.

A: In case of below error you have to verify your exclusion/inclusion properties. Please check that inclusion/exclusion patterns produce disjoint sets for source and test files

ERROR: Caused by: File [...] can't be indexed twice. Please check that inclusion/exclusion patterns produce disjoint sets for main and test files An example could look like this:

sonar.sources=. 
sonar.tests=. 
sonar.test.inclusions=**/*Test*/** 
sonar.exclusions=**/*Test*/** 
Verwandte Themen