2015-08-17 26 views
2

是否有可能告诉maven仅查找某些特定的groupid的用户定义存储库?Maven 3 - 仅查找特定groupid的定制存储库

它似乎首先尝试用户定义的回购所有工件,并最终花费更多时间来构建。

[编辑]

例如,属于“com.example”组的工件被托管在私有存储库上;但是像“org.apache”,“org.codehaus”等其他OSS构件则不是。 Maven首先尝试在私人回购中搜索第三方文物,然后在中央搜索。我想过滤私人回购查询“com.example”只有

+0

如果工件是由您开发的,则可以在这些工件的'pom.xml'中提到存储库。 –

回答

2

我试图找到一个权威的来源,但答案是否定的。基本上,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,但应该有助于速度。