vol*_*lni 120 maven-2 dependency-management maven maven-dependency-plugin
我正在开发一个依赖X的项目.反过来,X依赖于Y.
我曾经明确地将Y包含在我项目的pom中.然而,它没有被使用并且使事情变得更清洁,而是将它作为依赖项添加到X的pom中.X被标记为发布依赖项.
问题是,从我的项目的pom中删除Y并将其添加到X的pom后,我的项目没有接受它mvn -U clean package.我知道-U更新快照但不更新版本.
因此,在不删除〜/ .m2/repository目录的情况下,如何强制重新下载X的pom?此外,我尝试运行dependency:purge-local-repository,它也没有工作.
小智 146
您不能让Maven重新下载依赖项,但您可以做的是清除使用不正确下载的依赖项 mvn dependency:purge-local-repository
请参阅:http://maven.apache.org/plugins/maven-dependency-plugin/purge-local-repository-mojo.html
小智 36
我认为以下命令可以帮助你!
mvn -U clean install
Run Code Online (Sandbox Code Playgroud)
小智 25
感谢Ali Tokmen的回答.我设法使用以下命令强制删除特定的本地依赖项:
mvn dependency:purge-local-repository -DmanualInclude=com.skyfish:utils
Run Code Online (Sandbox Code Playgroud)
有了这个,它utils从我的.m2/repository中删除,它总是utils在我运行时重新下载JAR依赖mvn clean install.
如果您知道 的组 ID X,则可以使用此命令重新下载所有X及其依赖项
mvn clean dependency:purge-local-repository -DresolutionFuzziness=org.id.of.x
Run Code Online (Sandbox Code Playgroud)
它与建议使用的其他答案做同样的事情dependency:purge-local-repository,但它只删除和重新下载与X.
小智 8
mvn clean install -U
Run Code Online (Sandbox Code Playgroud)
-U表示强制更新依赖项.
如果要更新单个依赖项而不使用clean或-U,可以将其从本地存储库中删除,然后进行构建.
小智 5
如果你真的想强制下载所有依赖项,你可以尝试重新初始化整个 maven 存储库。就像本文已经描述的那样,您可以使用:
mvn -Dmaven.repo.local=$HOME/.my/other/repository clean install
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
178935 次 |
| 最近记录: |