Maven 3-仅查找特定groupid的自定义存储库
是否可以告诉maven只为某些特定的GroupID查找用户定义的存储库 它似乎首先尝试对所有工件使用用户定义的repo,最终需要花费更长的时间来构建 [编辑]Maven 3-仅查找特定groupid的自定义存储库,maven,maven-3,Maven,Maven 3,是否可以告诉maven只为某些特定的GroupID查找用户定义的存储库 它似乎首先尝试对所有工件使用用户定义的repo,最终需要花费更长的时间来构建 [编辑] e、 g.属于组“com.example”的工件托管在私有存储库中;但其他OSS构件,如“org.apache”、“org.codehaus”等却不是。Maven首先尝试在私有回购协议中搜索第三方工件,然后在central中搜索。我只想过滤对“com.example”的私有repo查找,我试图找到一个确定的源,但答案是否定的。基本上,Ma
e、 g.属于组“com.example”的工件托管在私有存储库中;但其他OSS构件,如“org.apache”、“org.codehaus”等却不是。Maven首先尝试在私有回购协议中搜索第三方工件,然后在central中搜索。我只想过滤对“com.example”的私有repo查找,我试图找到一个确定的源,但答案是否定的。基本上,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>
假的
中心的
Maven存储库交换机
http://repo1.maven.org/maven2
假的
习俗
定制回购
自定义回购URL
这样,首先检查中心。这很有技巧,但应该有助于提高速度。如果工件是由您开发的,那么可以在这些工件的
pom.xml
中提到存储库。对于本地托管的组,我也有同样的问题,Maven不能支持此过滤方法或其他过滤方法来停止对非公共组ID的查找尝试,这很愚蠢,以防止无意义的查找和可能的安全问题!我们不应该只安装一个repo服务器作为查找的过滤反向代理。