这是运行 mvn -version 命令的结果:
Apache Maven 3.0.4 (r1232337; 2012-01-17 00:44:56-0800)
Maven home: /usr/share/maven
Java version: 1.7.0_67, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.8.5", arch: "x86_64", family: "mac"
假设我有一个快照依赖:
<dependency>
<groupId>org.puzzled</groupId>
<artifactId>foo</artifactId>
<version>1.0.4-SNAPSHOT</version>
</dependency>
我的本地仓库里有一个已下载的快照副本。但是其他开发人员已经进行了改进,并且foo-1.0.4-SNAPSHOT.jar有了更新。我想向Maven发出执行命令,从远程存储库下载并更新该依赖项。
根据这个和许多其他SO上的问题的回答,如果我这样做
mvn clean -U package
它应该只是重新下载所有依赖项。对吧?但事实并非如此。它会下载快照依赖项的元数据,并推断(而且是错误的),认为不需要更新。我必须删除本地 .m2 存储库中关联的子目录,才能使用 -U 标志从远程存储库更新快照发布。
这是一个错误吗,还是我遗漏了什么?