Подтвердить что ты не робот

Java.lang.UnsupportedClassVersionError: org/sonar/batch/bootstrapper/EnvironmentInformation: Неподдерживаемый major.minor version 52.0

Сведения об окружающей среде:

  • SonarQube 5.6
  • Apache Maven 3.3.9
  • Версия Java: 1.7.0_09

Я включил плагин SonarQube с проектом java maven, как в pom.xml

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.sonarsource.scanner.maven</groupId>
                <artifactId>sonar-maven-plugin</artifactId>
                <version>3.0.2</version>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

При выполнении цели: mvn sonar:sonar -Dsonar.host.url=<url>

Получение исключения:

[ERROR] Не удалось выполнить цель org.sonarsource.scanner.maven: sonar-maven-plugin: 3.0.2: sonar (default-cli) в примере проекта-java-maven:       Выполнение default-cli цели org.sonarsource.scanner.maven: sonar-maven-plugin: 3.0.2: не удалось выполнить сонар:       При выполнении org.sonarsource.scanner.maven была обнаружена несовместимость API: sonar-maven-plugin: 3.0.2: sonar:       java.lang.UnsupportedClassVersionError: org/sonar/batch/bootstrapper/EnvironmentInformation:       Неподдерживаемая версия major.minor 52.0     [ОШИБКА] ----------------------------------------------- ------     [ERROR] realm = плагин > org.sonarsource.scanner.maven: sonar-maven-plugin: 3.0.2

4b9b3361

Ответ 1

Для SonarQube 5.6 требуется хотя бы Java 8 (см. requirements). Обратите внимание, что это не просто требование на стороне сервера, оно также требуется на стороне клиента, где выполняется анализ.

Как agabrys, упомянутый в его комментарии, Unsupported major.minor является классической ошибкой Java (см. этот поток).

Ответ 2

Я сам столкнулся с этой проблемой. Мое решение с момента разработки моего кода и платформы в настоящее время использует только Java 7 и не может использовать Java 8, я решил запустить предыдущий релиз/тег (5.5) с помощью:

Смотрите теги здесь: Теги для sonarqube на hub.docker.com

docker run -d --name sonarqube -p 9000:9000 -p 9092:9092 sonarqube:5.5

Ответ 4

Чтобы еще больше расширить ответы от agabrys 'и Nicolas B:

Вам нужно перейти на сайт oracle и загрузить jdk версии 8.

И настройте jenkins config.xml, который обычно находится в /var/lib/jenkins и добавляет jdk:

<jdk>
  <name>jdk1.8</name>
  <home>/usr/java/jdk1.8.0_144</home>
  <properties/>
</jdk>

в разделе. Или вы можете добавить его на веб-сайт jenkins, чтобы управлять настройкой jenkins → global tool.