【问题标题】:Execution of "mvn sonar:sonar" with no external access在没有外部访问的情况下执行“mvn sonar:sonar”
【发布时间】:2011-03-04 08:51:09
【问题描述】:

我尝试在 Maven 配置为无法访问外部存储库的机器上执行 mvn sonar:sonar 命令(实际上,情况并非如此,但它有助于我解释我的问题)。

所以目前,如果我运行此命令,我会收到以下错误:

[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] The plugin 'org.codehaus.mojo:sonar-maven-plugin' does not exist or no valid version could be found

我认为这意味着我的本地存储库中有一些不正确的元数据,因为我有一个 [local repo]\org\codehaus\mojo\sonar-maven-plugin\1.0-beta-1 目录(当然里面有 JAR)。

你知道为什么我的命令失败了吗?

技术信息:Maven 2.2.1、Java 1.6、Sonar 2.1.2

【问题讨论】:

    标签: maven-2 sonarqube


    【解决方案1】:

    作为对那些从 Jenkins 运行 Sonar(使用插件)的人的提示,我们自己也看到了类似的问题。

    但正如官方文档所说:http://docs.sonarqube.org/display/SONAR/Analyzing+with+Maven in section: How to Fix Version of Maven Plugin

    您可以在 Jenkins -> Configuration -> Sonar -> "Version of sonar-maven-plugin" 中修复 sonar-maven-plugin 的版本:

    • 对于 Maven 2 到:1.0
    • 对于 Maven 3 到:2.0

    因此它会跳过版本解析 + 查找 => 防止此处报告的问题。

    更新:

    嗯,我刚刚意识到,它适用于任何情况,而不仅仅是詹金斯。您可以明确指定版本以防止查找。

    【解决方案2】:

    我的问题现在已经解决了,因为主要是maven元数据文件的问题。

    org/codehaus/mojo/sonar-maven-plugin 不包含正确的maven-metadata.xml 文件。因此,Maven 2 无法知道需要哪个版本的插件。添加它解决了我的问题。

    【讨论】:

      【解决方案3】:

      您是否尝试过常见问题解答中的建议:

      The plugin 'org.apache.maven.plugins:maven-sonar-plugin' does not exist or no valid version could be found

      如果您在之后收到此错误消息 启动maven命令行“mvn 声纳:声纳”添加“-U”参数 命令行。然后 Maven 将 更新其本地存储库 最新版本的声纳 Maven 插件。

      如果添加“-U”参数不 解决你的问题,你肯定 遇到 Maven 错误MNG-4001。这 唯一已知的解决方法是删除 org\codehaus\mojo 目录 本地 Maven 存储库。当然,如果 您的本地 Maven 存储库是 与存储库管理器同步 像Nexus一样,这个操作一定是 也在存储库管理器上完成 一边。

      【讨论】:

      • @romaintaz 那么你应该在你的问题中提到它。提及您已经尝试过的内容将:1. 为读者节省时间 2. 避免得到无用的答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多