dummy:dummy:jar:1.0,surefire-junit4,maven和Nexus

时间:2012-10-23 16:00:14

标签: maven nexus surefire

所以我们最近为maven存储库管理器实现了一个Nexus服务器。我们代理了大约30个外部存储库,并将它们全部汇集到一个组中,我们在带有*的镜像的settings.xml中指向它。

在那之前,我们没有这个问题......现在我们做到了。令我感到沮丧的是,这个虚拟罐子上的信息很少,来自哪里,或者我可以让它来阻止这些故障。我已经研究了几天,没有任何东西。我希望社区能够提供帮助。

18-Oct-2012 22:50:31 [ERROR] BUILD ERROR 
18-Oct-2012 22:50:31 [INFO] ------------------------------------------------------------------------ 
18-Oct-2012 22:50:31 [INFO] Unable to generate classpath: org.apache.maven.artifact.resolver.ArtifactResolutionException: Unable to get dependency information: Unable to read the metadata file for artifact 'org.apache.maven.surefire:surefire-junit4:jar': Cannot find parent: org.apache.maven.surefire:surefire-providers for project: null:surefire-junit4:jar:null for project null:surefire-junit4:jar:null 
18-Oct-2012 22:50:31 org.apache.maven.surefire:surefire-junit4:jar:2.12 
18-Oct-2012 22:50:31 
18-Oct-2012 22:50:31 from the specified remote repositories: 
18-Oct-2012 22:50:31 central (http://repo1.maven.org/maven2), 
18-Oct-2012 22:50:31 JavaNet-mirror (http://maven:8081/nexus/content/repositories/Java.net/), 
18-Oct-2012 22:50:31 Releases (https://nexus:8443/nexus/content/repositories/releases/) 
18-Oct-2012 22:50:31 
18-Oct-2012 22:50:31 Path to dependency: 
18-Oct-2012 22:50:31 1) dummy:dummy:jar:1.0 

5 个答案:

答案 0 :(得分:3)

我们遇到了类似的问题,开发人员在测试层次结构中放置了一个名为“TestUtil”的类,当时该类实际上与单元测试无关。将类重命名为不包含Test前缀的内容为我们解决了问题。不过不知道它是什么。

AFAIK dummy.jar是surefire插件内部使用的东西,但通常不会向最终用户公开。 “dummy.jar”可以在surefire插件源代码中找到(example1example2

所以在我们的例子中,类“TestUtil”导致问题出现,导致类似的情况,但是为了验证它不是更合乎逻辑的东西总是运行带有-X调试日志标志的maven。

答案 1 :(得分:1)

这听起来像是一个网络问题。

检查此问题:

Maven failing to download jar dependencies

答案 2 :(得分:0)

我遇到了同样的问题,并检查了我们的nexus中有哪些版本的surefire-junit4。它是2.12,我为我的maven-surefire-plugin宣布2.17版本。我认为这反过来取决于surefire-junit4版本2.17,这是我们的nexus无法得到的。不管它是什么,都非常令人沮丧,但是当我将surefire插件版本降级到2.12时就会消失,为此可以从我们的nexus下载正确的surefire-junit4依赖,然后一切都很好而花花公子。

似乎你没有2.12可用,所以也许你不得不回到你的关系中可用的任何东西。

答案 3 :(得分:0)

在我的情况下,我没有指定surefire插件的版本。 e.g:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <includes>
                    <include>**/*_UT.java</include>
                    <include>**/*_FT.java</include>
                </includes>
            </configuration>
        </plugin>
    </plugins>
</build>

......效果很好。但后来我升级了我的Maven命令行客户端并得到了这个。解决方案取决于您想要做什么(将缺少的工件添加到您的公司仓库,硬编码确保版本,降级Maven),但理解为什么对我来说是重要的部分。

希望这可以帮助那些人。

答案 4 :(得分:0)

我的问题通过在我刚刚遵循答案的ubuntu上从java-oracle清除并重新安装ca证书而解决了

https://stackoverflow.com/a/33440168/9827406

$ sudo dpkg --purge --force-depends ca-certificates-java
$ sudo apt-get install ca-certificates-java