Maven 3 - 仅针对特定的groupid查找自定义存储库

时间:2015-08-17 04:50:25

标签: maven maven-3

是否可以告诉maven仅针对某些特定的groupid查找用户定义的存储库?

似乎首先为所有工件尝试用户定义的repo,最终需要更长时间才能构建。

[编辑]

e.g。属于“com.example”组的工件托管在私有存储库中;但其他OSS工件如“org.apache”,“org.codehaus”等则不然。 Maven首先尝试在私有仓库中搜索第三方工件,然后在中央搜索。我想将私有repo查找过滤为“com.example”

1 个答案:

答案 0 :(得分:3)

我试图找到一个确定的来源,但答案是否定的。基本上,Maven循环遍历您定义的存储库,直到找到所需的依赖关系,或者没有其他存储库可供检查。

我认为订单是通过您pom.xml中首先发现的存储库,然后是settings.xml中首先找到的存储库。

所以诀窍,如果有一个,当你有一个将在某个存储库中找到的依赖,并且就是那里,就是使它成为最后一个要检查的存储库之一,或者接近尾声。

所以你可以做的是在你的pom.xml中添加如下内容:

<repositories>
    <repository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>central</id> 
      <name>Maven Repository Switchboard</name>
      <url>http://repo1.maven.org/maven2</url>
    </repository>
    <!-- Your custom repository here -->
    <repository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>custom</id> 
      <name>Custom Repo</name>
      <url>Custom repo URL</url>
    </repository>
</repositories>

首先检查中心。它的hacky,但应该有助于速度。