【问题标题】:An API incompatibility was encountered while executing org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.0.2155:sonar执行 org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.0.2155:sonar 时遇到 API 不兼容
【发布时间】:2021-10-27 02:11:47
【问题描述】:

我们已从 7.6>7.9>8.9>9.0 升级。

现在我们面临同样的问题,

plugin:3.9.0.2155:sonar failed: 执行 org.sonarsource.scanner.maven:sonar-maven-plugin:3.9.0.2155:sonar: java.lang.UnsupportedClassVersionError: org/sonar/batch 时遇到 API 不兼容/bootstrapper/EnvironmentInformation 已由更新版本的 Java Runtime(类文件版本 55.0)编译,此版本的 Java Runtime 仅识别最高 52.0 的类文件版本

我已经浏览了文档https://docs.sonarqube.org/latest/analysis/languages/java/#header-3,但是我们如何才能使用 sonar.java.jdkHome 以及在哪里?这个jdk应该在jenkins slave还是sonarqube服务器上? 我们不使用 sonarqube 属性文件,我们有 jenkins 构建,我们有 maven 配置,只有 sonar:sonar 用于扫描。我们如何管理这种情况。

提前致谢。

【问题讨论】:

  • 看起来您正在尝试在 JDK8 而不是 JDK11 上运行。据我所知,SonarQube 服务器必须在 JDK11 上运行...
  • 是的,它在 jdk11 上启动并运行,但是该项目使用 jdk 8,并且在扫描时出现上述异常,现在问题是 - community.sonarsource.com/t/…
  • 当 SQ 从 min JDK 6 -> 8 转到时,我们遇到了类似的问题。将我们的作业更改为使用作业默认 JDK 6 构建,然后添加 envinject ENV stepJAVA_HOME=/path/to/jdk8,然后调用声纳扫描仪步骤。看看这是否适合您,但 8 -> 11。此外,Jenkins masteree 和代理运行 8,SQ 运行 11。您的作业可以使用 Global Tools Java 中配置的任何内容。
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: java maven jenkins sonarqube sonarqube-scan


【解决方案1】:

由于 SonarQube 9.0 分析必须使用 JDK11 完成。这是 9.0 中的重大更改之一,请参阅官方 documentation。

【讨论】:

    猜你喜欢
    • 2017-03-23
    • 2017-06-25
    • 2017-03-11
    • 2023-02-08
    • 2021-03-11
    • 2016-07-26
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    相关资源
    最近更新 更多