使用Maven强制重新下载发行版依赖项

我正在开发一个依赖于X的项目.X依次取决于Y.

我曾经明确地把Y包含在我的项目中。 然而,它并没有被用来使事情变得更清洁,而是把它作为依赖添加到X的POM中。 X被标记为释放依赖。

问题是,从我的项目的POM中删除Y并将其添加到X的POM后,我的项目不是在mvn -U clean package上拾取它。 我知道 – 我更新快照,但不是发布。

所以,在不删除〜/ .m2 / repository目录的情况下,如何强制重新下载X的pom? 另外,我试着运行dependency:purge-local-repository ,它也没有工作。

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

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

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

我想下面的命令可以帮助你!


 mvn -U clean install 

项目右键 – > Maven – >更新项目,并勾选checkbox,如屏幕截图。 它将更新发布以及:)

在这里输入图像说明

你已经将问题标记为“maven-2”。 在Maven 3中添加了-U选项来解决这个问题。

我会build议升级。

当你将它添加到X时,你应该增加X的版本号,例如X-1.2
那么X-1.2应该已经安装/部署了,你应该已经改变了你的项目对X的依赖,依赖于新版本X-1.2

感谢阿里·托马门的回答。 我设法强制使用以下命令删除特定的本地依赖项:

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

有了这个,它从我的.m2 / repository中删除了utils ,并且当我运行mvn clean install时,它总是重新下载utils JAR依赖。

 mvn clean install -U 

-U表示强制更新依赖关系。

如果你想更新一个单独的依赖关系而不干净或-U,你可以从你的本地仓库中删除它,然后构build。

如果你真的想强制下载所有的依赖项,你可以尝试重新初始化整个maven仓库。 就像在这篇文章中已经描述的那样,你可以使用:

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

去build立path…删除现有的Maven库ü添加…单击添加库…单击Maven托pipe依赖项…然后单击Maven项目设置…检查解决Maven依赖关系checkbox..它将全部下载Maven的依赖关系