Неподдерживаемая версия major.minor Исключение для сонара-сканера

Я пытаюсь проанализировать исходный код с помощью SonarQube. Я пытаюсь использовать sonar-scanner в качестве инструмента для запуска анализа из командной строки. Я следовал рекомендациям, представленным в этой статье документации: http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

Когда я пытаюсь проверить установку, запустив sonar-scanner -h, я получаю следующую ошибку:

➜  ~ 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)

Судя по ошибке, похоже, что для JAVA/JRE не найдена правильная версия для запуска инструмента cli. Насколько я понял, инструмент должен работать с любой версией Java 1.7+. Я использую Oracle JDK 1.7.0_55. Я также пытался использовать OpenJDK 1.8, но все равно получаю ту же ошибку. Я также проверил, что моя переменная JAVA_HOME установлена ​​​​в правильный каталог JDK.

Любая помощь в правильном направлении приветствуется.


person Amrish    schedule 24.09.2016    source источник


Ответы (2)


Поборовшись с этим какое-то время, я нашел причину проблемы. CLI просматривает вашу переменную пути JAVA_HOME, чтобы выяснить, какую версию Java нужно использовать. даже несмотря на то, что команды java и javac по умолчанию указывали на JDK 8, установка переменной среды JAVA_HOME в корневой каталог JDK 8 решила проблему.

Надеюсь, это поможет другим людям, столкнувшимся с подобной проблемой.

person Amrish    schedule 25.09.2016

здесь уже подробно дан ответ: Unsupported major.minor version 52.0 и здесь: Как исправить ошибку java.lang.UnsupportedClassVersionError: не поддерживается основная.дополнительная версия

обоснование заключается в том, что вы пытаетесь выполнить Sonar на Java 7 или ниже, когда классы сонара были скомпилированы для Java 8, что вызывает эту ошибку.

person Alex    schedule 24.09.2016
comment
Как я уже говорил в своем вопросе, я пытался запустить инструмент как с JDK 7, так и с JDK 8. Я все еще получаю ту же ошибку. - person Amrish; 25.09.2016
comment
как вы сами сказали в вопросе, вы проверили переменную среды JAVA_HOME .... извините, но кроме того, что я указал вам на правильный ответ, ваша версия исполняемой Java была неправильной ... - person Alex; 25.09.2016