【问题标题】:Jenkins Sonar plugin suddenly stops workingJenkins Sonar 插件突然停止工作
【发布时间】:2016-06-07 21:35:05
【问题描述】:

我们的 Jenkins 构建在一夜之间开始失败并出现错误:

[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.7:sonar (default-cli) on project <project>: 
Execution default-cli of goal org.codehaus.mojo:sonar-maven-plugin:2.7:sonar failed: 
Unable to load the mojo 'sonar' in the plugin 'org.codehaus.mojo:sonar-maven-plugin:2.7' due to an API incompatibility:
org.codehaus.plexus.component.repository.exception.ComponentLookupException: org/codehaus/mojo/sonar/SonarMojo :
Unsupported major.minor version 51.0

Jenkins 服务器仍在运行 Java 6,但我们没有进行任何更改。

发生了什么,我们该如何解决?

【问题讨论】:

    标签: jenkins sonarqube java-6


    【解决方案1】:

    jenkins-sonar-plugin 使用sonar-maven-plugin 运行声纳分析。

    Sonar-maven-plugin 于 2015-10-19 更新到 2.7,新版本不兼容 Java 6。

    Jenkins-sonar-plugin 默认使用最新版本的 sonar-maven-plugin,但您可以覆盖它。

    所以要修复这个错误,打开“Manage Jenkins”/“Configure System”,找到Sonar部分,点击advanced并在“Version of sonar-maven-plugin”中输入2.6。这会强制 jenkins-sonar-plugin 使用之前版本的 sonar-maven-plugin,它适用于 Java 6。

    或者,如果您只想为一个特定的 Jenkins 作业设置 2.6,那么您可以强制 maven 使用目标 org.codehaus.mojo:sonar-maven-plugin:2.6:sonar 而不是标准的 sonar:sonar 使用 2.6 版本。

    另外:开始计划将构建服务器升级到 Java 7 或 Java 8。

    【讨论】:

    • 正如this postoracle 中提到的,“Java SE 7 的类文件版本是 51”,因此 Unsupported major.minor version 51.0
    • 覆盖 sonar-maven-plugin 的链接不起作用。可以更新一下吗?
    • @NewUser:我自己没有添加那个链接,所以我不知道它包含什么。无论如何,下一段将解释如何覆盖该设置。
    • 谢谢。 :) 你提供的解决方案绝对没问题,如果你能接受这个解决方案会更好......
    • 我收到 NullPointerException '[ERROR] 无法在项目 sip-internal 上执行目标 org.sonarsource.scanner.maven:sonar-maven-plugin:3.0.2:sonar (default-cli) -impl-parent: null: MojoExecutionException: NullPointerException -> [Help 1]' @Rasmus,我正在使用所有最新版本。我也尝试在目标中提及版本,但仍然遇到问题。以下是我正在使用的版本:SonarQube:v 4.5.1,java:v 1.7.0,sonar-maven-plugin:2.6 & 3.0.2。
    猜你喜欢
    • 2016-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-22
    • 2021-02-01
    • 2016-12-29
    • 2018-05-09
    • 2015-12-07
    相关资源
    最近更新 更多