为什么Maven 2会尝试下载我已经拥有的依赖项?

时间:2020-03-06 14:39:23  来源:igfitidea点击:

当我启动" 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/%[email protected]%3E