首页 文章

java.lang.UnsupportedClassVersionError:org / sonar / batch / bootstrapper / EnvironmentInformation:不支持的major.minor版本52.0

提问于
浏览
21

环境细节:

  • SonarQube 5.6

  • Apache Maven 3.3.9

  • Java版本:1.7.0_09

我将SonarQube插件与pom.xml中的java maven项目集成在一起

<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>

获得例外:

[错误]无法执行目标org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.2:项目示例中的声纳(default-cli)-java-maven:目标org.sonarsource的执行default-cli . 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] ------------------------------- ---------------------- [ERROR] realm = plugin> org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.2

4 回答

  • 25

    SonarQube 5.6至少需要Java 8(参见requirements) . 请注意,这不仅仅是服务器端的要求,在运行分析的客户端也需要它 .

    就像他的评论中提到的agabrys一样, Unsupported major.minor 是一个典型的Java错误(参见this thread) .

  • 1

    我自己也遇到了这个问题 . 我的解决方案,因为我的代码和平台正在开发中,目前只使用Java 7,不能使用Java 8,我决定使用以下命令启动以前的发行版/标记(5.5):

    在此处查看标签:Tags for sonarqube at hub.docker.com

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

  • 2

    您至少需要JDK 1.8 . 阅读更多关于 major.minor 版本的信息:How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version

  • 0

    为了进一步扩展agabrys和Nicolas B的答案:

    您需要访问oracle的网站并下载版本8的jdk .

    并配置jenkins' config.xml ,它通常位于 /var/lib/jenkins 并添加一个jdk:

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

    在该部分 . 或者您可以在管理jenkins - >全局工具配置的jenkins网站中添加它 .

相关问题