2015-12-07 19 views
5

po aktualizacji z wersji 3.3.2 do wersji Sonarqube 5.1.2, moja kompilacja maven dla projektu, który musi zostać zbudowany z jdk 1.6, kończy się niepowodzeniem z:org/sonar/api/utils/SonarException: nieobsługiwana wersja major.minor 51.0

build 03-Dec-2015 19:33:10 [INFO] ------------------------------------------------------------------------ 
build 03-Dec-2015 19:33:10 [ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.6:sonar (default-cli) on project my_project: Execution default-cli of goal org.codehaus.mojo:sonar-maven-plugin:2.6:sonar failed: An API incompatibility was encountered while executing org.codehaus.mojo:sonar-maven-plugin:2.6:sonar: java.lang.UnsupportedClassVersionError: org/sonar/api/utils/SonarException : Unsupported major.minor version 51.0 
build 03-Dec-2015 19:33:10 [ERROR] ----------------------------------------------------- 
build 03-Dec-2015 19:33:10 [ERROR] realm = plugin>org.codehaus.mojo:sonar-maven-plugin:2.6 
build 03-Dec-2015 19:33:10 [ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy 
build 03-Dec-2015 19:33:10 [ERROR] urls[0] = file:/tmp/org/codehaus/mojo/sonar-maven-plugin/2.6/sonar-maven-plugin-2.6.jar 
build 03-Dec-2015 19:33:10 [ERROR] urls[1] = file:/tmp/org/apache/maven/shared/maven-dependency-tree/2.1/maven-dependency-tree-2.1.jar 
build 03-Dec-2015 19:33:10 [ERROR] urls[2] = file:/tmp/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar 
build 03-Dec-2015 19:33:10 [ERROR] urls[3] = file:/tmp/org/codehaus/plexus/plexus-interpolation/1.11/plexus-interpolation-1.11.jar 
build 03-Dec-2015 19:33:10 [ERROR] urls[4] = file:/tmp/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar 
build 03-Dec-2015 19:33:10 [ERROR] urls[5] = file:/tmp/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar 
build 03-Dec-2015 19:33:10 [ERROR] urls[6] = file:/tmp/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar 
build 03-Dec-2015 19:33:10 [ERROR] urls[7] = file:/tmp/org/codehaus/plexus/plexus-utils/1.5.5/plexus-utils-1.5.5.jar 
build 03-Dec-2015 19:33:10 [ERROR] urls[8] = file:/tmp/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar 
build 03-Dec-2015 19:33:10 [ERROR] urls[9] = file:/tmp/org/codehaus/sonar/runner/sonar-runner-api/2.4/sonar-runner-api-2.4.jar 
build 03-Dec-2015 19:33:10 [ERROR] urls[10] = file:/tmp/commons-lang/commons-lang/2.6/commons-lang-2.6.jar 
build 03-Dec-2015 19:33:10 [ERROR] urls[11] = file:/tmp/com/google/guava/guava/10.0.1/guava-10.0.1.jar 
build 03-Dec-2015 19:33:10 [ERROR] urls[12] = file:/tmp/com/google/code/findbugs/jsr305/2.0.3/jsr305-2.0.3.jar 
build 03-Dec-2015 19:33:10 [ERROR] Number of foreign imports: 1 
build 03-Dec-2015 19:33:10 [ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]] 
build 03-Dec-2015 19:33:10 [ERROR] 
build 03-Dec-2015 19:33:10 [ERROR] ----------------------------------------------------- 
build 03-Dec-2015 19:33:10 [ERROR] -> [Help 1] 

Wygląda na problem ze zgodnością, jakieś pomysły? Wskazując na stary sonar nadal działa dobrze, wskazując na nowy, rozumiem.

Dzięki Roberto

Odpowiedz

8

Jak można przeczytać w "Requirements" page lub "SonarQube 5.0 Upgrade Guide", trzeba co najmniej Java 7, aby uruchomić analizę SonarQube.

Zawsze możesz zbudować (skompilować, przetestować ... itd) swój projekt za pomocą Java 6, ale musisz skonfigurować SonarQube, aby korzystać z Java 7 lub wyższej.

+1

Jak dokładnie skonfigurować analiza Sonar używać Javy 8, podczas gdy projekt jest wciąż Java 7? Nie znalazłem żadnej własności, takiej jak sonar.java.home lub podobnej ... – dokaspar

2

SonarQube 5.x Javę 7, aby uruchomić serwer i uruchomić analizę.

będzie nadal analizować projekty budować z Java 6, ale należy uruchomić analizę z java 7.

0

Wpadłem prawie w ten sam problem, uruchamiając moją analizę sonaru na Jenkinsie przez maven. W pewnym momencie analiza projekt, który pracował rozpoczęła się niepowodzeniem, gdy:

  • SonarQube Server nie zmienił (wersja 4.5.6)
  • Jenkins Praca config nie zmienił (Maven Praca skonfigurowany z JDK 1.7.0.45)
  • Maven config nie zmienił

I to jest to, co mam:

org.codehaus.plexus.component.repository.exception.ComponentLookupException: org/sonarsource/scanner/maven/SonarQubeMojo : Unsupported major.minor version 52.0 
17:27:29 [ERROR] ----------------------------------------------------- 
17:27:29 [ERROR] realm = plugin>org.sonarsource.scanner.maven:sonar-maven-plugin:3.1.1 
17:27:29 [ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy 
17:27:29 [ERROR] urls[0] = file:/c:/tools/.m2/repository/org/sonarsource/scanner/maven/sonar-maven-plugin/3.1.1/sonar-maven-plugin-3.1.1.jar 
17:27:29 [ERROR] urls[1] = file:/c:/tools/.m2/repository/org/apache/maven/shared/maven-dependency-tree/2.2/maven-dependency-tree-2.2.jar 
17:27:29 [ERROR] urls[2] = file:/c:/tools/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar 
17:27:29 [ERROR] urls[3] = file:/c:/tools/.m2/repository/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar 
17:27:29 [ERROR] urls[4] = file:/c:/tools/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar 
17:27:29 [ERROR] urls[5] = file:/c:/tools/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar 
17:27:29 [ERROR] urls[6] = file:/c:/tools/.m2/repository/org/codehaus/plexus/plexus-utils/3.0.22/plexus-utils-3.0.22.jar 
17:27:29 [ERROR] urls[7] = file:/c:/tools/.m2/repository/org/sonarsource/scanner/api/sonar-scanner-api/2.7/sonar-scanner-api-2.7.jar 
17:27:29 [ERROR] urls[8] = file:/c:/tools/.m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar 
17:27:29 [ERROR] urls[9] = file:/c:/tools/.m2/repository/com/google/code/findbugs/jsr305/2.0.3/jsr305-2.0.3.jar 
17:27:29 [ERROR] Number of foreign imports: 1 
17:27:29 [ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]] 

issue e spowodowane jest tutaj przez niedopasowania wersji java pomiędzy:

  • Jenkins wykonywania pracy z JDK 1.7.x
  • wersja sonar-maven-plugin 3.1.1 jest skompilowane z JDK 1.8.x

Wersja wtyczki nie została jawnie ustawiona w pom.xml, więc analiza zaczęła się nie udać, gdy zadanie zajęło tę wersję wtyczki.

Z wielu powodów JDK zadania nie mogło zostać uaktualnione do wersji 1.8, więc wersja sonaru-maven-plugin została ustalona na 3.0.2.

0

To prawda, potrzebujesz wersji 1.7 java. Upewnij się, że zaktualizowałeś wersję jdk, a nie jre.

Najpierw sprawdź, która zmienna env jest używana do pobrania wersji jdk.

javac -version

wyjściowa:

Picked up _JAVA_OPTIONS: -Xmx512M javac 1.7.0_80

Przejdź do wiersza poleceń i wykonaj poniższe zmiany.

Set JAVA_OPTIONS=C:\Program Files\Java\jdk1.7.0_80

lub

Set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_80 set PATH=%JAVA_HOME%\bin;%PATH%

+0

Ta odpowiedź mogłaby zostać poprawiona przez użycie [formatowania kodu] (https://meta.stackexchange.com/questions/22186/how-do-i -format-my-code-blocks). – Ben

Powiązane problemy