How exactly mvn -U works?

2019-04-03 18:42发布

I want to know what exactly Maven do in the -U phase.

The argument ordering forced check for updates on remote repositories and if needed, updating the local maven repository with the updated dependencies used in our project.

As described:

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

But, how exactly is this done? Is maven first of all downloading all the remote repositories and locally decides that they need to get updated, or, deciding without downloading them first? Is there some corner cases that should be known?

My Maven version is:

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"

标签: maven maven-3
1条回答
Root(大扎)
2楼-- · 2019-04-03 19:24

It is done only for the artifacts or dependencies referenced by your project.

The last check timestamp is stored within local artifact metadata (in your local Maven repository), so Maven can apply different strategies how often to check for updates based on that. The default update interval for snapshots is "daily".

Also see updatePolicy for remote repositories in Maven's settings.xml.

查看更多
登录 后发表回答