maven快照更新

时间:2010-01-27 15:28:28

标签: maven-2 dependencies snapshot

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

感谢, 杰夫

2 个答案:

答案 0 :(得分:16)

根据文档,默认情况是它每天只会更新一次。那是执行当天的第一次构建的时候。您可以使用snapshot-policy元素覆盖此行为。

  • 始终 - 始终检查Maven是否为较新版本的快照启动
  • 从不 - 永远不会检查更新的远程版本。一旦关闭,即可执行手动更新。
  • 每日(默认) - 检查当天的第一次运行(当地时间)
  • 间隔:XXX - 每隔XXX分钟检查一次

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

答案 1 :(得分:6)

  

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

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

  

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

这取决于包含快照的repositorypluginRepositoryupdatePolicy。默认为每日检查(其他可能的值始终区间:X (其中X是以分钟为单位的整数)或从来没有

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