在我的 settings.xml 文件中,我列出了我希望Maven使用的存储库(请参阅下面的文件)。这些存储库位于构建计算机中,我正在以这种方式工作,以防止在构建计算机中没有Internet连接时构建失败。
问题是Maven在构建期间自动在中央存储库(以及可能来自其他未列出的存储库)中查找更新。有没有办法防止这种行为?
...
<profile>
<id>myProfile</id>
<repositories>
<repository>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<updatePolicy>never</updatePolicy>
</snapshots>
<id>myRepo</id>
<url>file://${my.home}/maven/.m2/repository</url>
<layout>default</layout>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<updatePolicy>never</updatePolicy>
</snapshots>
<id>myRepo</id>
<url>file://${my.home}/maven/.m2/repository</url>
<layout>default</layout>
</pluginRepository>
</pluginRepositories>
</profile>
...
注意:使用离线选项(例如-o标志)对我来说不是一个选项。我真正想要的是Maven只使用我在 settings.xml 文件中列出的存储库。
答案 0 :(得分:3)
每个Maven项目都从Maven Super POM继承中央存储库的配置。您可以使用Maven的镜像功能将呼叫重定向到中央到您首选的存储库。您可以通过向settings.xml添加一些配置来执行此操作:
<settings>
...
<mirrors>
<mirror>
<id>central-proxy</id>
<mirrorOf>central</mirrorOf>
<url>http://myrepository/releases</url>
</mirror>
</mirrors>
..
</settings>
此配置可以放在您的用户设置($ {user.home} /。m2 / settings.xml)或全局设置({$ M2_HOME} /conf/settings.xml)中。
答案 1 :(得分:1)
将您想要的存储库设置为其他所有存储库的镜像。
更多详情:http://maven.apache.org/guides/mini/guide-mirror-settings.html