Maven无法解析sonar-maven-plugin版本5.1.2

时间:2015-08-26 11:21:17

标签: jenkins maven-3 sonarqube-5.0

我们让Sonar和Jenkins位于同一台机器上,Sonar分析作为Jenkins工作后步骤运行。 Jenkins的工作是使用Maven 3.0.5构建的。

在我们昨天将Sonar从4.5.x更新到5.1.2之前,一切都很好。

更新声纳步骤失败后出现异常:

  

org.apache.maven.lifecycle.LifecycleExecutionException:无法在项目TestApplication上执行目标org.codehaus.mojo:sonar-maven-plugin:2.0:sonar(default-cli):不能执行声纳

     

引起:org.apache.maven.plugin.MojoExecutionException:无法执行Sonar

     

引起:org.apache.maven.plugin.PluginResolutionException:插件org.codehaus.sonar:sonar-maven3-plugin:5.1.2或其中一个依赖项无法解析:失败读取org.codehaus.sonar的工件描述符:sonar-maven3-plugin:jar:5.1.2

     

引起:org.sonatype.aether.resolution.ArtifactDescriptorException:无法读取org.codehaus.sonar的工件描述符:sonar-maven3-plugin:jar:5.1.2

     

引起:org.sonatype.aether.resolution.ArtifactResolutionException:未能找到org.codehaus.sonar:sonar-maven3-plugin:pom:5.1.2 in http://repo.maven.apache.org/maven2 was缓存在本地存储库中,在中心的更新间隔过去或强制更新之前,不会重新尝试解析

我们发现实际上有5.1版本的org.codehaus.sonar:sonar-maven3-plugin,但在maven repo中没有5.1.2。

修正:

我们设法通过强制org.codehaus.mojo:sonar-maven-plugin版本修复它,在我们的pom文件中通过官方Analyzing with Sonar doc

的建议

但是,由于我们有几十个项目,应该有更好的解决方案而不是改变每个项目的pom文件

1 个答案:

答案 0 :(得分:2)

好的,找到了简单的解决方案:

在maven存储库(.m2)中缓存了最新版本的org.codehaus.mojo:sonar-maven-plugin为2.0,即使最新版本是2.6。 (在档案.m2/repository/org/codehaus/mojo/sonar-maven-plugin/maven-metadata-central.xml

旧版本的工作方式与新版本有很大不同(见Which sonar-maven-plugin version to use?

我们删除了.m2 / repository / org / codehaus / mojo / sonar-maven-plugin目录,以便下载更新的版本。