我对maven的问题是,如果maven存储库没有响应,则无法构建。它似乎在每个“mvn包”中获取一些poms,这些都不会改变,因为它们的版本相同。
我怎么能对maven说,请不要从服务器上查找它们,而是将它们永久地下载到离线存储库?
谢谢!
答案 0 :(得分:11)
您可以将存储库配置为仅偶尔检查更新,或者永远不要通过在存储库声明上设置updatePolicy元素。来自settings documentation:
下载更新的频率 - 可以是“始终”,“每日”(默认),“间隔:XXX”(以分钟为单位)或“从不”(仅当本地不存在时)。
将以下内容添加到您的POM或设置中会将中央存储库配置为仅在本地不存在工件时下载:
<repositories>
<repository>
<id>central</id>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
</repository>
</repositories>
如果有问题的存储库是内部远程存储库,则需要确保远程存储库中的maven-metadata.xml为configured correctly,否则Maven将每次都尝试下载它。最简单的方法是使用自动管理元数据的repository manager
答案 1 :(得分:11)
您可以使用-o
标志运行maven:
-o,--offline Work offline
这将导致Maven永远不会在远程存储库中查找依赖项。另一方面,如果在本地存储库中找不到依赖项,则构建将失败。