虽然我知道mvn install -U
用于更新快照,并且从构建日志中看到它从远程存储库更新了所有内容,但我无法理解它将在哪个部分强制性升级。因为我的理解是,即使mvn install
存在于本地存储库中,即使{{1}}也会从远程存储库中选择内容(除非是maven用于更新快照的内部计时器到期)。
以上描述是准确的还是我误解了更新快照的使用?
答案 0 :(得分:2)
Maven正在根据间隔检查SNAPSHOT工件的更新。默认情况下,每天都会检查它。这意味着,如果在早上你有SNAPSHOT的更新,并且下午在远程存储库中有另一个版本,那么直到明天你才能获得它。
-U
选项强制检查SNAPSHOT更新,即使没有达到更新间隔。
要添加的一个注释,尽管-U
中mvn -h
的说明是
强制检查更新的版本和远程存储库上的快照
根据我之前的经验,永远不会检查版本的更新。即我们将始终依赖于我们之前检索的任何版本。
答案 1 :(得分:-1)
默认情况下,maven会检查SNAPSHOT工件的更新副本,即从远程存储库中获取SNAPSHOT版本的依赖工件(例如1.0-SNAPSHOT)。此选项强制Maven检查远程存储库中的所有快照,并在本地存储库过期时更新它。