2017-02-08 2 views
0

ist dies die zusätzlichen Sonar Eigenschaften in jenkins Abdeckung Job konfiguriert:Fehlgeschlagen Ziel org.sonarsource.scanner.maven auszuführen: Sonar-Maven-Plugin: 3.2: Sonar (default-cli) Inkompatible Ausführungsdaten für die Klasse

-Dsonar.jacoco.reportPath = $ {} ARBEITSBEREICH /merged_unit.exec
-Dsonar.java.coveragePlugin = jacoco
-Dsonar.dynamicAnalysis = reuseReports
-Dsonar.jacoco.itReportPath = $ {} ARBEITSBEREICH/merged_it .exec

Ich erhalte den Fehler unten auf jenkins:

Jenkins Log: [ERROR] Fehler Ziel auszuführen org.sonarsource.scanner.maven: Sonar-Maven-Plugin: 3.2: Sonar (default-cli) auf Projekt aaaa-parent: Inkompatible Ausführungsdaten für Klasse xxxxxxxxxxxxx mit ID 4050af3ab5fc5456. -> [Hilfe 1] org.apache.maven.lifecycle.LifecycleExecutionException: Fehler beim Ziel ausführen org.sonarsource.scanner.maven: sonar-maven-plugin: 3.2: sonar (default-cli) auf Projekt xxxxx: Inkompatible Ausführungsdaten für Klasse xxxxxxxxxxxxxxxxxx mit ID 4050af3ab5fc5456. bei org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:216) bei org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:153) bei org. apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:145) bei org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:116) bei org.apache.maven. lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:80) bei org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:51) bei org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128) bei org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java307) unter org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:193) um org.apache.maven.DefaultMaven.execute (DefaultMaven.java:106) um org.apache.maven.cli.MavenCli.execute (MavenCli.java: 862) um org.apache .maven.cli.MavenCli.doMain (MavenCli.java:286) um org.apache.maven.cli.MavenCli.main (MavenCli.java:197) um sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Methode) um sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) um sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMe thodAccessorImpl.java:43) bei java.lang.reflect.Method.invoke (Method.java:483) bei org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289) bei org .codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229) bei org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415) bei org.codehaus.plexus .classworlds.launcher.Launcher.main (Launcher.java:356)

das merkwürdige ist, dass, wenn ich die reportPath und itReportPath gleich eingestellt, egal merged_unit.exec oder merged_it.Exec, die Sonaranalyse geht gut aber wenn ich setze, was es sein sollte, kommt der Fehler auf.

Das Projekt ist eine Muti-Module ein, also verwende ich die folgenden xml zu fusionieren (i setzte nur ein Modul zunächst zum Testen)

<target name="merge_unit_exec"> 
       <jacoco:merge destfile="/home/qatest/test-script/aaa/unittest/report/merged_unit.exec"> 
         <fileset dir="/home/qatest/jenkins/workspace/aaaa/aaa/target" includes="*.exec" /> 
       </jacoco:merge> 
</target> 

blockiert es 2 Tage mir wirklich für Ihre große Hilfe zu schätzen wissen. , danke

Antwort

1

Incompatible execution data for class bedeutet, dass Ausführungsdaten genau dieselbe Klasse zweimal enthält, aber mit einer anderen Anzahl von Sonden.

So überprüfen Sie, dass Sie überall genau die neueste JaCoCo-Version verwenden. Stellen Sie sicher, dass Sie keine veralteten Exec-Dateien haben, an die Sie Daten anhängen, während sie mit einer anderen Version von JaCoCo erstellt wurden. Stellen Sie sicher, dass JVM nicht ordnungsgemäß beendet wird, was zu unvollständigen beschädigten Exec-Dateien führen kann.

prüfen ähnliche Fragen zu gleichen Ausnahme in “IllegalStateException: Incompatible execution data for class in…” exception from Jacoco when run for an existing ear und https://github.com/jacoco/jacoco/issues/95

+0

Vielen Dank für Ihre Ratschläge geben kann, habe ich versucht, die jacoco zu Unified Version, aber t funktioniert nicht. und schließlich löste ich diesen Fehler nur, indem ich die Konfigurationsreihenfolge änderte, wie unten '' Dsonar.jacoco.reportPath = $ {ARBEITSBEREICH} /merged_unit.exec Dsonar.jacoco.itReportPath = $ {ARBEITSBEREICH} /merged_it.exec -Dsonar.java .coveragePlugin = jacoco -Dsonar.dynamicAnalysis = reuseReports'' – sanqian

0
-Dsonar.jacoco.reportPath=${WORKSPACE}/merged_unit.exec 
-Dsonar.jacoco.itReportPath=${WORKSPACE}/merged_it.exec 
-Dsonar.java.coveragePlugin=jacoco 
-Dsonar.dynamicAnalysis=reuseReports 

i die Lösung oben gefunden, aber wer eine vernünftige Antwort, dass

Verwandte Themen