Maven 无法解析 sonar-maven-plugin 版本 5.1.2
Maven can't resolve sonar-maven-plugin version 5.1.2
我们在同一台机器上安装了 Sonar 和 Jenkins,Sonar 分析是 运行 作为 Jenkins 作业 post 步骤。 Jenkins 作业是使用 Maven 3.0.5 构建的。
一切都很好,直到我们昨天将 Sonar 从 4.5.x 更新到 5.1.2。
更新声纳步骤失败并出现异常:
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.0:sonar (default-cli) on project TestApplication: Can not execute Sonar
Caused by: org.apache.maven.plugin.MojoExecutionException: Can not execute Sonar
Caused by: org.apache.maven.plugin.PluginResolutionException: Plugin org.codehaus.sonar:sonar-maven3-plugin:5.1.2 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.codehaus.sonar:sonar-maven3-plugin:jar:5.1.2
Caused by: org.sonatype.aether.resolution.ArtifactDescriptorException: Failed to read artifact descriptor for org.codehaus.sonar:sonar-maven3-plugin:jar:5.1.2
Caused by: org.sonatype.aether.resolution.ArtifactResolutionException: Failure to find org.codehaus.sonar:sonar-maven3-plugin:pom:5.1.2 in http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
我们发现实际上有5.1版本的org.codehaus.sonar:sonar-maven3-plugin,但maven repo中没有5.1.2。
修复:
我们设法通过在我们的 pom 文件中强制 org.codehaus.mojo:sonar-maven-plugin 版本到 2.6 来修复它,正如官方 Analyzing with Sonar 文档
上的建议
但是由于我们有几十个项目,应该有更好的解决方案而不是更改每个项目的 pom 文件
好的,找到了简单的解决方案:
在 Maven 存储库 (.m2) 中缓存了 org.codehaus.mojo:sonar-maven-plugin 的最新版本是 2.0,即使最新版本是 2.6。 (在文件 .m2/repository/org/codehaus/mojo/sonar-maven-plugin/maven-metadata-central.xml
中)
旧版本在工作方式上与新版本有很大不同(参见)
我们删除了 .m2/repository/org/codehaus/mojo/sonar-maven-plugin 目录,以便下载更新版本。
我们在同一台机器上安装了 Sonar 和 Jenkins,Sonar 分析是 运行 作为 Jenkins 作业 post 步骤。 Jenkins 作业是使用 Maven 3.0.5 构建的。
一切都很好,直到我们昨天将 Sonar 从 4.5.x 更新到 5.1.2。
更新声纳步骤失败并出现异常:
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.0:sonar (default-cli) on project TestApplication: Can not execute Sonar
Caused by: org.apache.maven.plugin.MojoExecutionException: Can not execute Sonar
Caused by: org.apache.maven.plugin.PluginResolutionException: Plugin org.codehaus.sonar:sonar-maven3-plugin:5.1.2 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.codehaus.sonar:sonar-maven3-plugin:jar:5.1.2
Caused by: org.sonatype.aether.resolution.ArtifactDescriptorException: Failed to read artifact descriptor for org.codehaus.sonar:sonar-maven3-plugin:jar:5.1.2
Caused by: org.sonatype.aether.resolution.ArtifactResolutionException: Failure to find org.codehaus.sonar:sonar-maven3-plugin:pom:5.1.2 in http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
我们发现实际上有5.1版本的org.codehaus.sonar:sonar-maven3-plugin,但maven repo中没有5.1.2。
修复:
我们设法通过在我们的 pom 文件中强制 org.codehaus.mojo:sonar-maven-plugin 版本到 2.6 来修复它,正如官方 Analyzing with Sonar 文档
上的建议但是由于我们有几十个项目,应该有更好的解决方案而不是更改每个项目的 pom 文件
好的,找到了简单的解决方案:
在 Maven 存储库 (.m2) 中缓存了 org.codehaus.mojo:sonar-maven-plugin 的最新版本是 2.0,即使最新版本是 2.6。 (在文件 .m2/repository/org/codehaus/mojo/sonar-maven-plugin/maven-metadata-central.xml
中)
旧版本在工作方式上与新版本有很大不同(参见
我们删除了 .m2/repository/org/codehaus/mojo/sonar-maven-plugin 目录,以便下载更新版本。