使用 Java 11 运行 Sonar Scanner 时出现错误的主版本号

问题描述 投票:0回答:1

我目前正在将一个项目从 java 8 迁移到 java 11,并一直在使用 Sonar 扫描仪和 gradle 将代码发送到 SonaQube。迁移到 Open JDK 11 后,我在运行

gradle sonarqube
任务时收到以下错误:

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

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

理想情况下,我能够使用 Java 11 JDK 运行

gradle sonarqube
。我发现另一个问题似乎 success with Java 11 using Maven ,但他们的错误不同,我认为他们的解决方案不适用于我。

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

gradle sonarqube-scan sonar-runner java-11 sonarscanner
1个回答
0
投票

如果像我这样的人这会有帮助。

源代码Java 8(55),带有jenkins和sonarqube扫描仪。

我的错误是

信息:声纳扫描仪 4.6.2.2472
信息:Java 11.0.11 采用OpenJDK(64 位)
......
java.lang.IllegalArgumentException:不支持的类文件主要版本 55

检查此链接:为什么声纳扫描仪强制使用嵌入式 JRE?

并更改您的

sonar-scanner.bat
sonar-scanner.sh
以使用:

use_embedded_jre=false
© www.soinside.com 2019 - 2024. All rights reserved.