所以我们最近为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
答案 0 :(得分:3)
我们遇到了类似的问题,开发人员在测试层次结构中放置了一个名为“TestUtil”的类,当时该类实际上与单元测试无关。将类重命名为不包含Test前缀的内容为我们解决了问题。不过不知道它是什么。
AFAIK dummy.jar是surefire插件内部使用的东西,但通常不会向最终用户公开。 “dummy.jar”可以在surefire插件源代码中找到(example1和example2)
所以在我们的例子中,类“TestUtil”导致问题出现,导致类似的情况,但是为了验证它不是更合乎逻辑的东西总是运行带有-X
调试日志标志的maven。
答案 1 :(得分:1)
答案 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