Maven:尝试maven测试代码时出错

时间:2014-05-21 08:30:45

标签: java eclipse maven

我一直在努力测试我的代码,但我一直在我的控制台中使用它:

  

[INFO]扫描项目... [INFO]
  [信息]   -------------------------------------------------- ---------------------- [INFO]构建SonarQube Java ::检查2.3-SNAPSHOT [INFO]   -------------------------------------------------- ---------------------- [警告] POM for   org.codehaus.sonar-plugins.java:java-squid:jar:2.3-SNAPSHOT是   缺少,没有可用的依赖信息[INFO]   -------------------------------------------------- ---------------------- [INFO] BUILD FAILURE [INFO]   -------------------------------------------------- ---------------------- [INFO]总时间:2.791s [INFO]完成时间:5月21日星期三16:18:34 CST   2014 [INFO]最终记忆:9M / 61M [INFO]   -------------------------------------------------- ---------------------- [错误]无法在项目java检查上执行目标:无法执行   解决项目的依赖关系   org.codehaus.sonar-plugins.java:java-checks:jar:2.3-SNAPSHOT:可以   找不到神器   org.codehaus.sonar-plugins.java:java-squid:jar:2.3-SNAPSHOT - > [救命   1] [ERROR] [ERROR]要查看错误的完整堆栈跟踪,请重新运行   使用-e开关的Maven。 [错误]使用-X开关重新运行Maven   启用完整调试日志记录[错误] [错误]有关的更多信息   错误和可能的解决方案,请阅读以下文章:   [错误] [帮助1]   http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

我的pom.xml是:

<?xml version="1.0" encoding="UTF-8"?> <project
    xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
       http://maven.apache.org/maven-v4_0_0.xsd">  
<modelVersion>4.0.0</modelVersion>

<parent>
    <groupId>org.codehaus.sonar-plugins.java</groupId>
    <artifactId>java</artifactId>
    <version>2.3-SNAPSHOT</version>   </parent>
    <artifactId>java-checks</artifactId>
    <name>SonarQube Java :: Checks</name>
    <dependencies>
        <dependency>
            <groupId>org.codehaus.sonar</groupId>
            <artifactId>sonar-deprecated</artifactId>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>java-squid</artifactId>
            <version>${project.version}</version>
        </dependency>

        <dependency>
            <groupId>org.codehaus.sonar.sslr</groupId>
            <artifactId>sslr-testing-harness</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-all</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-all</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.easytesting</groupId>
            <artifactId>fest-assert</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <scope>test</scope>
        </dependency>
</dependencies>

</project>

无论如何都要解决这样的错误?

1 个答案:

答案 0 :(得分:1)

尝试将其添加为pom.xml中的存储库。在XML元素repositories中,添加以下内容:

<repository>
    <id>sonarplugins</id>
    <url>http://repository-sonarplugins.forge.cloudbees.com/snapshot/</url>
</repository>

Maven尝试在java-squid.jar版本中获取2.3-SNAPSHOT但它在您的本地存储库,中央Maven存储库和您在POM中指示的存储库中找不到它。我给你的URL是一个包含你需要的工件的公共仓库的URL。它应该工作,除非有其他缺少的依赖项。

还有一件事:你为什么要使用SNAPSHOT lib?你真的确定要这么做吗?