环境详情:
我将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>
获得例外:
[错误]无法在项目示例-java-maven上执行目标org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.2:sonar(default-cli): 执行default-cli of goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.2:声纳失败: 执行org.sonarsource.scanner.maven时遇到API不兼容:sonar-maven-plugin:3.0.2:声纳: java.lang.UnsupportedClassVersionError:org / sonar / batch / bootstrapper / EnvironmentInformation: 不支持的major.minor版本52.0 [错误] ----------------------------------------------- ------ [错误] realm = plugin&gt; org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.2
答案 0 :(得分:25)
SonarQube 5.6至少需要Java 8(参见requirements)。请注意,这不仅仅是服务器端的要求,在运行分析的客户端也需要它。
与评论中提到的agabrys一样,Unsupported major.minor
是典型的Java错误(请参阅this thread)。
答案 1 :(得分:2)
我自己也遇到了这个问题。我的解决方案,因为我的代码和平台正在开发中,目前只使用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 :(得分:1)
您至少需要JDK 1.8。在How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version
了解有关major.minor
版本的详情
答案 3 :(得分: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网站上添加它 - &gt;全局工具配置。