几乎在maven中使用-U(强制更新依赖关系)属性有什么意义?

时间:2016-04-17 09:26:44

标签: maven maven-2

观察: 我正在测试Maven在使用mvn package(或)mvn install命令构建工件时如何检索工件。我注意到Maven每次都连接到Internet以获取依赖项。连续运行之间没有太多的时间差距(可能大约1或2分钟)。

问题: 因此,如果Maven每次默认连接到Internet(或我settings.xml中提供的存储库),为什么它们都有一个可以强制更新的单独属性(-U属性,如下所示:来自回购的快照的mvn install -U?在连接到外部仓库或使用本地仓库检索依赖关系之间,决定/决定的因素是什么?

参考: (请参阅http://www.sonatype.com/node/158?file=books/maven-definitive-guide.pdf第93页以了解有关此属性的更多信息)。该参考文献仅解释了该属性,但其背后的管理原理未得到解释。

1 个答案:

答案 0 :(得分:1)

我发现-U / - update-snapshots最好是一个有用的提示,在Maven2和Maven3中似乎有所不同。

即使有发布工件,maven3有时也需要它来更新特定版本和版本范围上的工件。其他时候,我的本地存储库会正确更新。去图。

你知道Maven在没有指定-U时检查/接收的工件是什么吗?我想,但尚未确认,Maven正在检查/下载插件,这些插件可能与POM中的依赖项有不同的规则。

真正说服Maven不在本地回购之外检查的唯一方法是使用-O / - 离线,然后它会使用你拥有的任何东西。