未能执行目标org.sonarsource.scanner.maven:sonar maven插件:3.9.1.2184



我的Java项目是通过Maven在1.8中编写和编译的。当我试图使用SonarQube 9.2.4的SonarMaven插件版本3.9.1.2184分析我的代码时,我收到了以下错误。

提到了以下参数。

sonar.java.jdkHome=D:….\jdk1.8.0_121sonar.java.source=1.8

目标org.sonarsource.scanner.maven:sonar-maven-plugin:3.91.2184:声纳失败:执行org.sonarssource.scanner-maven:sonaar-maven-plugin:3.91.2188:声纳:java.lang.UnsupportedClassVersionError:org/sonar/batch/bootstrapper/EnvironmentInformation由最新版本的java Runtime编译(类文件版本55.0(,此版本的Java Runtime只识别52.0以下的类文件版本[错误]-----------------------------------------------------[错误]领域=插件>org.sonarsource.scanner.maven:sonar-maven插件:3.9.1.2184[错误]策略=org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy[错误]urls[0]=文件:/../。m2/repository.org/sonarsource/scanner/maven/sonar-maven plugin/3.9.1.2184/sonar-manun-plugin-3.9.1.2184.jar[错误]urls[1]=文件:/../。m2/repository.org/sonateype/pluster/cluster-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar[错误]外国进口数量:1[错误]导入:Entry[从领域导入ClassRealm[maven.api,parent:null]]

请参阅https://javaalmanac.io/bytecode/versions/适用于Java类文件版本。

您的错误告诉您,您使用的是JDK 8(52.0(,但插件代码是用JDK 11(55.0(编译的。因此您的JDK无法理解插件类。

该怎么办?将用于执行maven构建的JDK更改为JDK 11。您的源代码仍然可以是java8,也可以为jdk8编译,但执行JDK必须是11+。

您可以通过下面的命令来归档您的问题。我也面临着同样的问题,但在命令之下我努力解决了。

- mvn verify sonar:sonar -Dsonar.host.url=http://localhost:Port -Dsonar.login=Token -Dsonar.login=Sonar_username -Dsonar.password=Sonar_password

Sonarqube 9.0以上版本需要java 11。

这也可能是由Java 8版本的Jacobo使用Java 11版本的Sonar引起的。在这种情况下,Jacobo版本也需要升级到Java 11版本。我将Jacobo从0.7.8升级到0.8.8,问题得到了解决。

最新更新