当我启动“mvn install”时命令,maven有时会尝试下载已经下载的依赖项。那是SNAPSHOT的预期,但为什么maven会为其他JAR做那个?

我知道我可以通过“-o”来避免这种行为。但我只是想知道原因是什么。

有帮助吗?

解决方案

我会查找没有指定版本号的依赖项。 Maven将定期检查以确保它具有这些工件的最新版本。

其他提示

这可能不是你所看到的,但过去我不得不手工将工件安装到我的本地存储库中,如果你忘记包含-Dgenerate.pom = true选项,那么就不会有pom。该工件的回购和Maven将转到中央(以及您配置的任何其他远程存储库)尝试在每次构建时下载该pom。

虽然我们讨论的是这个问题,但我遇到了Maven 2.0.x中的一个主要错误。在脱机模式下,maven仍会尝试下载最新的快照,当它无法找到您的快照存储库时,它将无法进行构建。想象一下,当客户在现场发生这种情况时会发生的欢闹,你只需做一个小改动(但我离题了)。

这是错误: http://jira.codehaus.org/browse/MNG-2433 这是一个解决方法: http:// mail -archives.apache.org/mod_mbox/maven-users/200601.mbox/%3C117228810601130559l7e79a5e2k@mail.gmail.com%3E

-o标志仍然不适合我,但是这样做了:

find ~/.m2/repository -name '_maven*' | xargs rm
find ~/.m2/repository -name '*lastUpdated' | xargs rm

将删除本地仓库中的所有.lastUpdated和_maven.repositories文件。我遇到了这个问题,因为我们有一个无法访问的企业Nexus仓库,我需要做一些工作。使用Eclipse的Maven集成可能也有助于此。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top