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