Java 如何防止Maven 2在远程存储库中搜索特定的本地相关性?
如何防止Maven 2在远程存储库中搜索仅在本地存储库中的特定依赖项Java 如何防止Maven 2在远程存储库中搜索特定的本地相关性?,java,maven-2,repository,Java,Maven 2,Repository,如何防止Maven 2在远程存储库中搜索仅在本地存储库中的特定依赖项 设置为存储库管理器 如有必要,添加其他远程代理存储库 添加本地托管存储库(托管在nexus服务器上) 以正确的搜索顺序定义一组存储库,首先使用本地回购协议 将构建更改为指向nexus组url(在settings.xml中使用mirrorOf=*) 运行构建并让nexus管理本地与远程依赖项解决方案 在POM中为远程依赖项或要从本地存储库获取的本地版本使用固定版本号 Maven试图友好地获取没有指定版本号的最新和最好的版本 要快
在POM中为远程依赖项或要从本地存储库获取的本地版本使用固定版本号 Maven试图友好地获取没有指定版本号的最新和最好的版本 要快速修复每次构建时都不等待internet下载的问题,您可以使用mvn-o强制脱机构建,这样就不会浪费时间尝试获取新版本
@crowne的答案也是一个很好的建议,特别是设置您自己的nexus并确保所有远程回购都配置在那里,这样当某一天回购出现时,您就不会有不愉快的惊喜。为了防止Maven检查远程存储库,您可以使用
-o
标志。否则,Maven将检查所有快照依赖项是否是最新的。您可以使用依赖关系管理器(如)对依赖关系解析进行细粒度控制。pom.xml
或settings.xml
文件中的还有一个updatePolicy
元素,允许您配置Maven检查更新依赖项的频率
如何防止Maven 2在远程存储库中搜索仅在本地存储库中的特定依赖项
事实上Maven不会的除非:
- 它们是快照依赖项,在这种情况下,这是预期的行为
- 它们缺少
文件,在这种情况下,您可以提供或生成该文件(请参见下面的问题).pom
-o
选项可能就足够了,但我是否可以指示Nexus仅在本地存储库中搜索特定的依赖项?是的,请参阅和以了解详细信息。结果表明,我缺少了Maven试图从远程存储库检索的所有本地依赖项的.pom
文件。