代码之家  ›  专栏  ›  技术社区  ›  Romain Linsolas

执行“mvnsonar:sonar“没有外部通道

  •  2
  • Romain Linsolas  · 技术社区  · 14 年前

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

    因此,当前,如果运行此命令,将出现以下错误:

    [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

    3 回复  |  直到 14 年前
        1
  •  3
  •   Pascal Thivent    14 年前

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

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

    如果您在 启动maven命令行“mvn sonar:sonar将“-U”参数添加到 将其本地存储库更新为 最新版本的Sonar Maven 插件。

    解决你的问题,你肯定 遇到Maven bug MNG-4001 唯一已知的解决方法是删除 org\codehaus\mojo目录 本地Maven存储库。当然,如果 与存储库管理器同步 就像Nexus一样,这个操作必须 也可以在存储库管理器上完成

        2
  •  2
  •   schnatterer RealHowTo    9 年前

    作为一个来自Jenkins(使用插件)运行Sonar的提示,我们自己也看到了类似的问题。

    但正如官方文件所说: http://docs.sonarqube.org/display/SONAR/Analyzing+with+Maven 第节:如何修复Maven插件的版本

    • 对于Maven 2到:1.0

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

    更新

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

        3
  •  1
  •   Romain Linsolas    14 年前

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

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