3

我目前正在将一个项目从 java 8 迁移到 java 11,并且一直在使用带有 gradle 的 Sonar 扫描仪将代码发送到 SonaQube。迁移到 Open JDK 11 后,我在运行gradle sonarqube任务时收到以下错误:

java.lang.IllegalArgumentException: Unsupported class file major version 55

我在网上读到扫描仪应该使用 jdk 8 运行,即使分析可以在 java 文件的一个版本上运行,但无法弄清楚这一点。

理想情况下,我将能够gradle sonarqube使用 Java 11 JDK 运行。我发现另一个问题似乎在使用 Maven 的 Java 11 上取得了成功,但他们的错误是不同的,我认为他们的解决方案不适用于我。

这个问题是否可以解决,还是我需要等待 Sonar Scanner 支持 JDK 11?

4

1 回答 1

0

如果像我这样的人会有所帮助。
源代码 Java 8(55),带有 jenkins 和 sonarqube 扫描仪。
我的错误是

信息:SonarScanner 4.6.2.2472
信息:Java 11.0.11 AdoptOpenJDK(64 位)
.....
java.lang.IllegalArgumentException:不支持的类文件主要版本 55

检查此链接:为什么 sonar-scanner 强制使用嵌入式 JRE?
并更改您的 sonnar-scanner.bat 或 sonnar-scanner.sh
use_embedded_jre=false

于 2021-10-06T08:10:34.150 回答