Jenkins Sonar 插件突然停止工作 [英] Jenkins Sonar plugin suddenly stops working
问题描述
我们的 Jenkins 构建在一夜之间开始失败并出现错误:
[ERROR] 无法在项目 上执行目标 org.codehaus.mojo:sonar-maven-plugin:2.7:sonar (default-cli):目标 org.codehaus.mojo:sonar-maven-plugin:2.7:sonar 的执行 default-cli 失败:由于 API 不兼容,无法在插件 'org.codehaus.mojo:sonar-maven-plugin:2.7' 中加载 mojo 'sonar':org.codehaus.plexus.component.repository.exception.ComponentLookupException:org/codehaus/mojo/sonar/SonarMojo:不支持的 major.minor 版本 51.0
Jenkins 服务器仍在运行 Java 6,但我们没有进行任何更改.
发生了什么,我们该如何解决?
jenkins-sonar-plugin 使用 sonar-maven-plugin 来运行声纳分析.p>
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,那么您可以使用目标 org.codehaus.mojo:sonar-maven-plugin:2.6:sonar
强制 maven 使用 2.6 版本而不是标准的sonar:sonar
.
另外:开始计划将构建服务器升级到 Java 7 或 Java 8.
Our Jenkins builds started failing overnight with the error:
[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
The Jenkins server is still running Java 6, but we did not change anything.
What happened and how do we fix it?
The jenkins-sonar-plugin uses sonar-maven-plugin to run the Sonar analysis.
Sonar-maven-plugin was updated to 2.7 on 2015-10-19 and the new version is not compatible with Java 6.
Jenkins-sonar-plugin uses the latest version of sonar-maven-plugin per default, but you can override this.
So to fix the error, open "Manage Jenkins"/"Configure System", find the Sonar section, click advanced and enter 2.6 in "Version of sonar-maven-plugin". This forces jenkins-sonar-plugin to use the previous version of sonar-maven-plugin, which works with Java 6.
Alternatively, if you want to set 2.6 only for one specific Jenkins job then you can force maven to use 2.6 version using goal org.codehaus.mojo:sonar-maven-plugin:2.6:sonar
instead of standard sonar:sonar
.
Also: begin planning to upgrade the build server to Java 7 or Java 8.
这篇关于Jenkins Sonar 插件突然停止工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!