我的项目依赖于 3rd 方库,该库仅在其 maven 存储库中有快照(没有发布,这看起来很奇怪,但事实就是如此)。每次我做一个完整的构建(并清理我的本地 .m2 存储库)时,maven 显然会去获取最新的构建。
我的存储库代理了其中包含快照的存储库,有没有办法告诉我的存储库停止拉取新版本,基本上只保留当前版本?我真的不想每晚都拉一个新版本。
我唯一的想法是手动标记当前版本,但是有很多依赖项,它们都依赖于 SNAPSHOT 版本。有没有更简单的方法来做到这一点?
谢谢,
杰夫
我的项目依赖于 3rd 方库,该库仅在其 maven 存储库中有快照(没有发布,这看起来很奇怪,但事实就是如此)。每次我做一个完整的构建(并清理我的本地 .m2 存储库)时,maven 显然会去获取最新的构建。
我的存储库代理了其中包含快照的存储库,有没有办法告诉我的存储库停止拉取新版本,基本上只保留当前版本?我真的不想每晚都拉一个新版本。
我唯一的想法是手动标记当前版本,但是有很多依赖项,它们都依赖于 SNAPSHOT 版本。有没有更简单的方法来做到这一点?
谢谢,
杰夫
查看 sonatype 的这篇博客文章:第 3 方快照依赖项的最佳实践
我通常将文件作为某个版本安装到我的代理或本地 repo,然后引用该版本。这样您就不会冒快照从您身下消失的风险。
-U
您是否使用( -update-snapshots
) 选项运行构建?如果是这样,请尝试不使用。
否则,如果对存储库只有这个依赖,你可以禁用这个存储库,Maven 将继续使用它在本地存储库中找到的最后一个版本。
使用该--no-snapshot-updates
选项来禁止 SNAPSHOT 更新。
例如
$ mvn --no-snapshot-updates compile