我的项目依赖于第三方库,该库只在其maven存储库中有快照(没有版本,这看起来很奇怪,但就是这样)。每次我进行完整构建(并清理我的本地.m2存储库)时,maven显然会去抓取最新版本。
我的存储库代理其中包含快照的存储库,无论如何要告诉我的存储库停止提取新版本并且基本上只保留当前版本?我真的不想每晚都在推新车。
我唯一的想法是手动标记当前版本,但有很多依赖项,它们都依赖于SNAPSHOT版本。有更简单的方法吗?
感谢,
杰夫
答案 0 :(得分:2)
从sonatype:Best Practices for 3rd Party Snapshot Dependencies
查看此博客条目我通常将文件作为特定版本安装到我的代理或本地存储库,然后参考该版本。然后你不要冒险从你下面消失快照。
答案 1 :(得分:0)
您是否使用-U
(-update-snapshots
)选项运行构建?如果是这样,请尝试不用。
否则,如果对存储库只有这种依赖关系,您可以只禁用此存储库,Maven将继续使用它在本地存储库中找到的最新版本。
答案 2 :(得分:0)
您是否尝试在<updatePolicy>
的{{1}}元素中使用never
策略指定<snapshots>
?请参阅Plugin Repositories和Repositories。
答案 3 :(得分:0)
使用--no-snapshot-updates
选项禁止SNAPSHOT更新。
e.g。
$ mvn --no-snapshot-updates compile