是否有可能告诉maven仅针对某些特定的groupid查找用户定义的存储库?
它似乎首先尝试用户定义的repo用于所有工件,并最终需要花费更长的时间来构建.
[编辑]
例如属于“com.example”组的工件托管在私有存储库中;但其他OSS工件如“org.apache”,“org.codehaus”等则不然. Maven首先尝试在私有仓库中搜索第三方工件,然后在中央搜索.我想仅将私有repo查找过滤为“com.example”
最佳答案 我试图找到一个明确的来源,但答案是否定的.基本上,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,但应该有助于速度.