如何阻止Maven 2搜索远程存储库以获取特定的本地依赖项?

时间:2010-08-24 19:19:27

标签: java maven-2 repository

如何阻止Maven 2搜索远程存储库以查找仅在本地存储库中的特定依赖项?

4 个答案:

答案 0 :(得分:8)

  

如何阻止Maven 2搜索远程存储库以查找仅在本地存储库中的特定依赖项

实际上,Maven除非:

  • 它们是SNAPSHOT依赖项,在这种情况下,这是预期的行为。
  • 他们缺少.pom文件,在这种情况下,您可以提供或生成该文件(请参阅下面的问题)。

相关问题

答案 1 :(得分:4)

  1. nexus设置为存储库管理器。
  2. 如有必要,添加附加远程代理存储库
  3. 添加本地托管存储库(托管在nexus服务器上)
  4. 使用您的本地仓库首先在正确的搜索序列中定义一组存储库。
  5. 将您的构建更改为指向nexus组网址(在settings.xml中使用mirrorOf = *)
  6. 运行您的构建并让nexus管理本地与远程依赖项解析

答案 2 :(得分:3)

在POM中使用固定版本号作为远程依赖项或要从本地存储库获取的本地版本。

Maven尝试友好并获取最新和最好的没有指定版本号的任何内容。

为了快速解决每次构建时不等待下载互联网的问题,您可以使用 mvn -o 强制进行离线构建,然后不会浪费时间尝试获取新版本。

@crowne的答案也是非常好的建议,尤其是建立你自己的关系,并确保所有远程回购配置都在那里,这样当你的回购消息有一天消失时,你永远不会有令人不快的意外。

答案 3 :(得分:3)

要阻止Maven在所有中检查远程存储库,您可以使用-o标志。否则,Maven将检查所有快照依赖项是否是最新的。您可以使用依赖项管理器(如Nexus)来对依赖项解析进行细粒度控制。 pom.xmlsettings.xml文件中的repository section也有一个updatePolicy元素,可让您配置Maven检查更新依赖项的频率。