13

我有一个具有快照依赖项的 Maven 项目。maven 如何知道快照是否需要更新?它总是更新吗?是基于时间的吗?基于校验和的更新?我知道我可以强制更新,但除此之外,它如何检查?

谢谢,杰夫

4

2 回答 2

18

根据文档,默认设置是每天只更新一次。那是一天的第一个构建执行的时间。您可以使用 snapshot-policy 元素覆盖此行为。

  • always - 始终检查 Maven 何时启动以获取更新版本的快照
  • never - 从不检查较新的远程版本。一旦关闭,就可以执行手动更新。
  • 每天(默认)- 检查当天的第一次运行(当地时间)
  • 间隔:XXX - 每 XXX 分钟检查一次

http://maven.apache.org/maven-settings/settings.html

于 2010-01-27T15:36:32.520 回答
7

我有一个具有快照依赖项的 Maven 项目。maven 如何知道快照是否需要更新?

Maven 会将本地 POM 的时间戳(存储在存储库的 maven-metadata 文件中)与远程进行比较。例如,参见JBoss 快照存储库中的 hibernate-core-3.5.0-SNAPSHOT

它总是更新吗?是基于时间的吗?基于校验和的更新?

这取决于快照updatePolicyrepositorypluginRepository包含快照的。默认值是每日检查(其他可能的值是alwaysinterval:X(其中 X 是以分钟为单位的整数)或never

<updatePolicy>always</updatePolicy>当您在内部为正在积极开发的项目使用 SNAPSHOT 时,为内部存储库设置 SNAPSHOT 是很常见的。

于 2010-01-27T20:44:33.337 回答