mvn install -U和mvn install有什么区别?

时间:2015-03-31 04:21:46

标签: java maven maven-3

虽然我知道mvn install -U用于更新快照,并且从构建日志中看到它从远程存储库更新了所有内容,但我无法理解它将在哪个部分强制性升级。因为我的理解是,即使mvn install存在于本地存储库中,即使{{1}}也会从远程存储库中选择内容(除非是maven用于更新快照的内部计时器到期)。

以上描述是准确的还是我误解了更新快照的使用?

2 个答案:

答案 0 :(得分:2)

Maven正在根据间隔检查SNAPSHOT工件的更新。默认情况下,每天都会检查它。这意味着,如果在早上你有SNAPSHOT的更新,并且下午在远程存储库中有另一个版本,那么直到明天你才能获得它。

-U选项强制检查SNAPSHOT更新,即使没有达到更新间隔。

要添加的一个注释,尽管-Umvn -h的说明是

  

强制检查更新的版本和远程存储库上的快照

根据我之前的经验,永远不会检查版本的更新。即我们将始终依赖于我们之前检索的任何版本。

答案 1 :(得分:-1)

默认情况下,maven会检查SNAPSHOT工件的更新副本,即从远程存储库中获取SNAPSHOT版本的依赖工件(例如1.0-SNAPSHOT)。此选项强制Maven检查远程存储库中的所有快照,并在本地存储库过期时更新它。