2016-09-24 23 views
7

Próbuję przeanalizować mój kod źródłowy za pomocą SonarQube. Próbuję użyć sonar-scanner jako moje narzędzie do uruchamiania analizy z wiersza poleceń. I przestrzegać wskazówek opisanych w niniejszej dokumentacji artykułu: http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+ScannerNieobsługiwana wersja major.minor Wyjątek dla sonaru-skanera

Kiedy próbuję przetestować instalację uruchamiając sonar-scanner -h otrzymuję następujący błąd:

➜ ~ sonar-scanner -h 
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/sonarsource/scanner/cli/Main : Unsupported major.minor version 52.0 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) 

Od błędu wygląda jak jej nie znalezienia prawo wersja dla JAVA/JRE, aby uruchomić narzędzie cli. Rozumiem, że narzędzie powinno działać z każdą wersją Java 1.7+. Używam Oracle JDK 1.7.0_55. Próbowałem również używać OpenJDK 1.8, ale nadal otrzymuję ten sam błąd. Sprawdziłem również, czy moja zmienna JAVA_HOME jest ustawiona na właściwy katalog JDK.

Każda pomoc we właściwym kierunku jest doceniana.

Odpowiedz

10

Po tym, jak się z tym zmagałem, znalazłem przyczynę problemu. Interfejs CLI analizuje zmienną ścieżki JAVA_HOME, aby znaleźć wersję Java, której potrzebuje. nawet trudne domyślne komendy java i javac wskazywały na JDK 8, ustawienie zmiennej środowiskowej JAVA_HOME na katalog główny JDK 8 rozwiązało problem.

Mam nadzieję, że pomoże to innym osobom z podobnym problemem.

2

to zostały już odpowiedział obszernie tutaj: Unsupported major.minor version 52.0 i tutaj: How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version

Uzasadnieniem jest to, że starasz się wykonać Sonar w Javie 7 lub niższej klasy, gdy sonar zostały opracowane dla Javy 8 zatem wyzwalanie tego błędu.

+0

Jak już stwierdzono w moim pytaniu, próbowałem uruchomić narzędzie zarówno z JDK 7, jak i JDK 8. Wciąż dostaję ten sam błąd. – Amrish

+0

jak sam powiedziałeś w pytaniu "sprawdziłeś zmienną środowiskową JAVA_HOME" .... przepraszam, ale poza tym wskazałem ci na poprawną odpowiedź, twoja wersja java została wykonana ... – Alex

Powiązane problemy