我有一个带有快照依赖项的maven项目。 maven如何知道快照是否需要更新?它总是更新吗?是时间的吗?基于校验和的更新?我知道我可以强制更新但是否如此,它是如何检查的?
感谢, 杰夫
答案 0 :(得分:16)
根据文档,默认情况是它每天只会更新一次。那是执行当天的第一次构建的时候。您可以使用snapshot-policy元素覆盖此行为。
答案 1 :(得分:6)
我有一个带有快照依赖项的maven项目。 maven如何知道快照是否需要更新?
Maven会将本地POM的时间戳(存储在存储库的maven-metadata文件中)与远程数据进行比较。请参阅JBoss快照存储库中的hibernate-core-3.5.0-SNAPSHOT。
它总是会更新吗?是时间的吗?基于校验和的更新?
这取决于包含快照的repository
或pluginRepository
的updatePolicy
。默认为每日检查(其他可能的值始终,区间:X (其中X是以分钟为单位的整数)或从来没有。
当您在内部对正在开发的项目使用SNAPSHOT时,为内部存储库设置<updatePolicy>always</updatePolicy>
是很常见的。