Jenkins Sonar插件突然停止工作

Ras*_*ber 8 java-6 jenkins sonarqube

我们的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
Run Code Online (Sandbox Code Playgroud)

Jenkins服务器仍在运行Java 6,但我们没有改变任何东西.

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

Ras*_*ber 25

该詹金斯-声纳插件使用声纳Maven的插件来运行声纳分析.

Sonar-maven-plugin在2015-10-19更新为2.7,新版本与Java 6不兼容.

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

因此,要修复错误,请打开"管理Jenkins"/"配置系统",找到Sonar部分,单击advanced并在"sonar-maven-plugin版本"中输入2.6.这迫使jenkins-sonar-plugin使用以前版本的sonar-maven-plugin,它与Java 6一起使用.

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

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