【发布时间】:2014-11-16 22:52:25
【问题描述】:
这是 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 发出行政命令,通过从远程存储库下载它来更新该依赖项。
根据对this 的回复以及关于 SO 的许多其他问题,如果我这样做了
mvn clean -U package
它应该只是(重新)下载所有依赖项。正确的?事实并非如此。它下载快照依赖项的元数据,推断(并且错误地)不需要更新。我必须删除本地 .m2 存储库中的关联子目录,以便 Maven 从远程存储库更新快照版本,即使使用 -U 标志也是如此。
这是一个错误,还是我遗漏了什么?
【问题讨论】:
-
我从来没有遇到过 maven 3.0.3 的这个问题,但是就像你描述的那样,我开始在 3.2.3 中得到它。 :-(
-
只是为了检查一下,您可能至少要尝试复制本地 .m2 文件夹以保存其他位置并清除 .m2 目录。然后尝试运行全新安装并查看它是否获取依赖项。这只会检查以确保您的设置实际上是正确的,并且您正在为工件访问正确的服务器,以防您当前在本地缓存了所有依赖项。
-
Force maven update的可能重复
-
“我在我的本地仓库中下载了该快照的副本”是什么意思 - 由 maven 在之前的全新安装时下载?还是手动下载?
标签: maven