mvn -U究竟是如何工作的?

时间:2014-10-06 21:04:09

标签: maven maven-3

我想知道Maven在-U阶段究竟做了什么。

参数排序强制检查远程存储库的更新,如果需要,使用我们项目中使用的更新依赖项更新本地maven存储库。

如上所述:

-U --update-snapshots Forces a check for updated releases and snapshots on remote repositories

但是,这究竟是怎么做到的?是maven首先下载所有远程存储库并在本地决定他们需要更新,或者决定不首先下载它们?是否有一些应该知道的角落案例?

我的Maven版本是:

Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T16:51:42+03:00)
Maven home: /usr/local/Cellar/maven/3.2.2/libexec
Java version: 1.7.0_60, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.9.4", arch: "x86_64", family: "mac"

1 个答案:

答案 0 :(得分:13)

仅针对项目引用的工件或依赖项执行此操作。

最后一个检查时间戳存储在本地工件元数据中(在本地Maven存储库中),因此Maven可以根据具体情况应用不同的策略来检查更新。快照的默认更新间隔为“每日”。

另请参阅Maven的settings.xml中的updatePolicy了解远程存储库。