让maven仅为一个库使用存储库

让maven仅为一个库使用存储库,maven,Maven,我有一个这样的存储库设置 <repository> <id>jboss</id> <name>JBoss Repository for Maven</name> <url>https://repository.jboss.org/nexus/content/groups/public/</url> </repository> &

我有一个这样的存储库设置

    <repository>
        <id>jboss</id>
        <name>JBoss Repository for Maven</name>
        <url>https://repository.jboss.org/nexus/content/groups/public/</url>
    </repository>

    <repository> 
        <id>itextpdf.com</id> 
        <name>Maven Repository for iText</name> 
        <url>http://maven.itextpdf.com/</url>
    </repository> 

jboss
用于Maven的JBoss存储库
https://repository.jboss.org/nexus/content/groups/public/
itextpdf.com
iText的Maven存储库
http://maven.itextpdf.com/

如何设置依赖关系,使其仅对itext使用itext存储库,而对其他所有内容使用jboss。由于某些原因,依赖项都被下载,itext存储库中的其中一个与jboss不同,正在使我的系统崩溃。

如果工件只存在于其中一个存储库中,则不需要这样做(maven将按顺序尝试每个存储库,并在找到它后停止)。itext repo没有任何jboss JAR,因此首先列出它应该导致首先检查它(当它无法解析jboss JAR时,它将尝试jboss repo)


或者,如果您有自己的Maven存储库服务器(例如Nexus),充当公共Maven存储库的代理,您可以设置一个“存储库路由”,告诉它要搜索哪些存储库(基于组ID)

是的,我认为它也是这样工作的,但是当我浏览我的构建日志时,我看到它从jboss下载文件,然后从itext第二次下载。我想尝试消除第二次下载。它实际上是从jboss下载的吗?如果浏览repo,itext目录为空(给出一个错误)。试着颠倒您声明repo的顺序(先声明itext),让它在jboss存储库之前尝试那一个。是的,根据我的日志,它从两个地方下载文件。没什么大不了的,我用不同的路线修好了