使用Maven强制重新下载版本依赖性

时间:2011-10-31 20:44:26

标签: maven-2 maven dependency-management maven-dependency-plugin

我正在开发一个依赖X的项目。反过来,X依赖于Y.

我曾经在我的项目的pom中明确地包含Y.然而,它没有被使用并且使事情变得更清洁,而是将它作为依赖项添加到X的pom中。 X被标记为版本依赖。

问题是,从项目的pom中删除Y并将其添加到X的pom后,我的项目没有在mvn -U clean package上提取它。我知道-U更新快照但不更新版本。

所以,没有删除〜/ .m2 / repository目录如何强制重新下载X的pom?此外,我尝试运行dependency:purge-local-repository,但它也无效。

13 个答案:

答案 0 :(得分:137)

您不能让Maven重新下载依赖项,但您可以做的是清除使用mvn dependency:purge-local-repository错误下载的依赖项

请参阅:http://maven.apache.org/plugins/maven-dependency-plugin/purge-local-repository-mojo.html

答案 1 :(得分:49)

我刚刚删除了我的〜/ .m2 /存储库并强制重新下载;)

答案 2 :(得分:33)

我认为以下命令可以帮助你!

mvn -U clean install

答案 3 :(得分:18)

感谢Ali Tokmen的回答。我设法使用以下命令强制删除特定的本地依赖项:

mvn dependency:purge-local-repository -DmanualInclude=com.skyfish:utils

这样,它会从我的.m2 / repository中删除utils,当我运行utils时,它总是重新下载mvn clean install JAR依赖项。

答案 4 :(得分:14)

项目右击 - > Maven - >更新项目 并选中屏幕截图中的复选框。它还将更新版本:)

enter image description here

答案 5 :(得分:7)

mvn clean install -U

-U表示强制更新依赖项。

如果你想更新没有clean或-U的单个依赖项,你可以从本地仓库中删除它然后构建。

答案 6 :(得分:6)

当你将它添加到X时,你应该增加X的版本号,即X-1.2
然后应该安装/部署X-1.2,你应该已经改变你对X的项目依赖性,以取决于新版本X-1.2

答案 7 :(得分:4)

如果您真的想强制下载所有依赖项,可以尝试重新初始化整个maven存储库。与已经描述的this article一样,您可以使用:

mvn -Dmaven.repo.local=$HOME/.my/other/repository clean install

答案 8 :(得分:1)

只需删除〜/ .m2 / repository ..... / actual_path无效的LOC即将到来,因为它会强制重新下载已删除的jar文件。 不要删除整个存储库文件夹,而是要从发生错误的位置删除特定的文件夹。

答案 9 :(得分:0)

上面提供的大多数答案都可以解决问题。

但是如果您使用IntelliJ并希望它自动为您修复它,请转到Maven设置。

构建,执行,部署 - >构建工具 - >行家

enter image description here

禁用脱机工作

启用始终更新快照(需要时切换)

答案 10 :(得分:0)

如果您知道X的组ID,则可以使用此命令重新下载所有X及其相关性

mvn clean dependency:purge-local-repository -DresolutionFuzziness=org.id.of.x

它与使用dependency:purge-local-repository提出的其他答案具有相同的作用,但是它只会删除并重新下载与X相关的所有内容。

答案 11 :(得分:0)

删除~/.m2/repository将解决您的问题。但是,如果仍然需要保留旧的~/.m2/repository,则可以临时更改Maven本地路径。

如果您正在使用IntelliJ,请转到Maven设置,然后将本地存储库路径更改为其他位置。您可能需要勾选附近的替代复选框。

enter image description here

答案 12 :(得分:-2)

转到构建路径...删除已添加的maven库...单击添加库...单击maven托管依赖项...然后单击maven项目设置...检查解决maven依赖项复选框..&# 39; ll下载所有maven依赖项

相关问题