【发布时间】:2015-03-31 04:21:45
【问题描述】:
虽然我知道 mvn install -U 用于 update-snapshots 并且从构建日志中可以看出它会更新远程存储库中的所有内容,但我无法理解它会强制更新哪个部分.因为据我了解,即使mvn install 会从远程存储库中挑选东西,即使它存在于本地存储库中(maven 用于更新快照的内部计时器到期的情况除外)。
以上描述是否准确,还是我误解了更新快照的使用?
【问题讨论】:
虽然我知道 mvn install -U 用于 update-snapshots 并且从构建日志中可以看出它会更新远程存储库中的所有内容,但我无法理解它会强制更新哪个部分.因为据我了解,即使mvn install 会从远程存储库中挑选东西,即使它存在于本地存储库中(maven 用于更新快照的内部计时器到期的情况除外)。
以上描述是否准确,还是我误解了更新快照的使用?
【问题讨论】:
Maven 正在根据时间间隔检查 SNAPSHOT 工件的更新。默认情况下,它每天检查一次。这意味着,如果早上您在 SNAPSHOT 中获得了更新,而下午在远程存储库中有另一个版本可用,那么您要等到明天才能获得它。
-U 选项强制检查 SNAPSHOT 更新,即使未达到更新间隔。
要添加一个注释,尽管mvn -h 中对-U 的描述是
强制检查远程存储库上更新的版本和快照
根据我以前的经验,从不检查版本是否有更新。即,我们将始终依赖我们之前检索到的任何内容进行发布。
【讨论】:
默认情况下,maven 检查 SNAPSHOT 工件的更新副本,即从远程存储库获取依赖工件的 SNAPSHOT 版本(例如 1.0-SNAPSHOT)。此选项强制 Maven 检查远程存储库中的所有快照,并在本地存储库过期时更新它。
【讨论】: