我有一个项目需要从两个不同的repos中获取工件。甚至回购中的工件也相互依赖。例如,我的项目可能依赖于工件A(在repo 1中),它取决于工件B(在repo 2中),它再次依赖于工件C(再次在repo 1中)。
我在配置我的settings.xml以使其工作时遇到了很多麻烦(例如,mvn总是试图为工件B转到repo 1,这是错误的)。有人知道这是如何在maven决定的吗?
答案 0 :(得分:1)
所有存储库均按顺序搜索。
不发生这种情况的第一原因是<mirror>
。镜像会覆盖存储库定义。例如,如果您使用<mirrorOf>*</mirrorOf>
定义一个镜像,它将处理 all 个请求,而您的其他存储库定义就不再重要了。
第二个原因是其中一个存储库有问题。不包含工件的存储库应使用404
进行回答。如果它返回一些乱码或500
错误或其他任何内容,则可能会破坏分辨率。