Nexus从maven中心获取jar,而不是第3方

时间:2013-10-10 14:36:29

标签: java maven maven-3 nexus

我们的项目存在问题,下载jar的pom文件不正确。它不包含1.0标记。所以我们做的是为该库安装我们的“更正”的pom文件,并添加了一个到nexus的第三方库。

我们现在面临的问题是它不会将我们添加的版本作为第三方库。在类似的情况下,当我们从maven中央nexus存储库中删除文件时,它比第三方库一样,并且它没有尝试从maven中心再次获取它。

现在我们对一个损坏的jar做了同样的事情,但是当我们在openSAML nexus存储库中删除jar时,它不是使用第三方库,而是从openSAML nexus存储库中重新获取它,它不需要我们的。

有没有人知道为什么要重新获取它并且不接受第三方库?

1 个答案:

答案 0 :(得分:0)

试试这个。 从本地存储库中删除jar。现在转到maven设置并临时删除openSAML存储库的条目。 现在构建你的项目,它现在将从第三方nexus存储库下载jar [注意,如果第三个存储库没有所有依赖项,项目可能无法构建。 下载新jar后,现在将openSAML条目放回maven设置。

编辑:

如果上述选项不可行,那么您可以设置存储库的顺序,使其首先检查第三方存储库,然后在其他存储库中检查。这意味着只有在第三方没有jar时才会转到其他存储库。现在,管理器检查存储库的顺序是它们在settings.xml中的写入顺序。查看此帖子:How to set order of repositories in Maven settings.xml 此解决方案是可扩展的,因为您可以在整个团队中共享此settings.xml,您就完成了。