【发布时间】:2010-08-24 19:19:27
【问题描述】:
如何防止 Maven 2 在远程存储库中搜索仅在本地存储库中的特定依赖项?
【问题讨论】:
标签: java maven-2 repository
如何防止 Maven 2 在远程存储库中搜索仅在本地存储库中的特定依赖项?
【问题讨论】:
标签: java maven-2 repository
如何防止 Maven 2 在远程存储库中搜索仅在本地存储库中的特定依赖项
嗯,实际上,Maven 不会,除非:
.pom 文件,在这种情况下,您可以提供或生成它(请参阅下面的问题)。【讨论】:
.pom 文件。
【讨论】:
在您的 POM 中为您的远程依赖项或您要从本地存储库获取的本地版本使用固定版本号。
Maven 试图友好并获取最新和最好的任何没有指定版本号的东西。
为了快速修复每次构建时不等待下载互联网,您可以使用 mvn -o 强制离线构建,这样就不会浪费时间尝试获取新版本。
@crowne 的回答也是非常好的建议,尤其是设置您自己的 nexus 并确保在那里配置所有远程 repo,这样当某天 repo 消失时,您将永远不会有不愉快的意外。
【讨论】:
为了防止 Maven检查远程存储库,您可以使用 -o 标志。否则,Maven 将检查任何快照依赖项是否是最新的。您可以使用诸如Nexus 之类的依赖管理器来获得对依赖解析的细粒度控制。 pom.xml 或 settings.xml 文件中的 repository section 也有一个 updatePolicy 元素,允许您配置 Maven 检查更新依赖项的频率。
【讨论】:
-o 选项可能就足够了,但我可以指示 Nexus 仅在本地存储库中搜索特定依赖项吗?