我有以下问题听起来很疯狂。我有一个项目A,它使用Lib B,它使用Lib C. Lib C不在中心。 Lib B有一个父类,它定义了一个可以在其中找到lib C的存储库。 取决于mvn版本和其他一些香料,它的工作与否。 该项目的问题是MoSKito:https://github.com/anotheria/moskito。 MoSKito依赖于xchart(com.xeiam.xchart:xchart 2.5.0)。 xchart使用VectorGraphics2D(de.erichseifert.vectorgraphics2d:VectorGraphics2d:0.9.1)。 VectorGraphics2D不在中心。
xchart已在其父级中定义了VectorGraphics2D的依赖项(com / xeiam / xchart / xchart-parent / 2.5.0 / xchart-parent-2.5.0.pom):
<repositories>
<repository>
<id>erichseifert.de</id>
<url>http://mvn.erichseifert.de/maven2</url>
</repository>
</repositories>
现在回到原来的问题:当我在我的机器上构建MoSKito时,从http://mvn.erichseifert.de/maven2下载了VectorGraphics2D。我在构建日志中看到它,它也存在于存储库中,文件_remote.repositories包含以下内容:
#NOTE: This is an Aether internal implementation file, its format can be changed without prior notice.
#Wed Oct 28 16:18:30 CET 2015
VectorGraphics2D-0.9.1.jar>erichseifert.de=
VectorGraphics2D-0.9.1.pom>erichseifert.de=
如果其他人构建了MoSKito,则不会下载该文件,并且错误消息为
[ERROR] Failed to execute goal on project moskito-webui: Could not resolve
dependencies for project net.anotheria:moskito-webui:jar:2.6.4-SNAPSHOT: Failure
to find de.erichseifert.vectorgraphics2d:VectorGraphics2D:jar:0.9.1 in
http://nexus.locale/nexus/content/groups/provided was cached in the local
repository, resolution will not be reattempted until the update interval of nexus
has elapsed or updates are forced -> [Help 1]
是否有任何设置可以解决此问题,因此它至少是确定性的?
P.S。谁将此问题标记为maven force update dependencies问题的副本,它与依赖关系更新无关。它是关于maven从引用项目中指定的存储库中解析工件。有时候它有效,有时它不会。
答案 0 :(得分:0)
好的,我发现了,并在此处发布了答案。无法下载工件的系统在其settings.xml中有一个带有
的活动镜像<mirrorOf>*</mirrorOf>
这阻止了mvn从链接存储库下载工件,镜像现在没有发生什么,也无法下载工件。我们用两种方式解决了这个问题(两台不同的机器): 1)将mirrorOf从*更改为central 2)手动上传工件作为镜像连接中的第三方工件(代理也可以这样做),
谢谢你,祝你好运; - )