如何使用使用 Java 11 的最新 SonarQube 免费版本分析 Java 8 代码?

usm*_*man 5 java sonarqube

我已经使用其配置中指出的 Java 11 安装了最新版本的 SonarQube wrapper.config。我读到它甚至可以分析用 Java 8 编写的代码,但我收到以下异常:

[错误] 无法在项目 ptf-parent 上执行目标 org.sonarsource.scanner.maven:sonar-maven-plugin:3.8.0.2131:sonar (default-cli):目标 org.sonarsource.scanner.maven 的执行 default-cli :sonar-maven-plugin:3.8.0.2131:sonar失败:执行org.sonarsource.scanner.maven时遇到API不兼容:sonar-maven-plugin:3.8.0.2131:sonar:java.lang.UnsupportedClassVersionError:org/sonar /batch/bootstrapper/EnvironmentInformation 已由更新版本的 Java 运行时(类文件版本 55.0)编译,此版本的 Java 运行时仅识别最高版本为 52.0 的类文件

目前,我的代码是使用 Java 8 构建的,我想使用最新的 SonarQube 版本进行分析。

我正在从 Eclipse IDE 运行分析器。我的所有项目都配置为使用Java 8和Maven 3.8.2来使用声纳参数在SonarQube上推送报告,但它不起作用。

以下是我在 Eclipse Run as Maven 构建中提供的参数:

 -e clean install sonar:sonar -Dsonar.java.jdkHome=C:\Program Files\Java\jdk1.8.0_251 -Dsonar.project
-Dsonar.projectKey=TESTPROJECT -Dsonar.host.url=http://localhost:9000 -Dsonar.login=a2603f6cd079e4a7833179333333333333333333e
Run Code Online (Sandbox Code Playgroud)

Djo*_*vic 0

根据sonarqube 社区的说法,您应该尝试以下操作:

编辑conf\wrapper.conf,具体wrapper.java.command如下:

wrapper.java.command=C:\Program Files\Java\open jdk-11.0.2\bin\java 
#wrapper.java.command=java
Run Code Online (Sandbox Code Playgroud)