Jen*_*der 5 purge dependency-management maven
我们有一个像这样的Maven项目结构:
Parent
 L A
 L B
A 依赖于取决于 B
两者都对其他库有各种依赖性
与此建设mvn clean install优良工程,但是当我们试图修剪所有依赖描述这里与
mvn dependency:purge-local-repository
我们收到一条错误消息,指出它无法将依赖项解析为B:jar:snapshot-version:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.10:purge-local-repository (default-cli) on project A: Failed to refresh project dependencies for: A:jar:4.0.1-SNAPSHOT: required artifacts missing:
[ERROR] B:jar:6.0-5
我目前的解释是,在实际构建过程中,B将首先构建并解决该问题,但是在清除过程中,没有任何构建过程,因此解决方案将失败。但是项目在那里,并且它的依赖项应该清除。我怎样才能解决这个问题?
-DactTransitively=false
似乎没有任何改变。
虽然这似乎不是@Tunaki所引用的确切问题,但其中的示例让我尝试了一下:
mvn dependency:purge-local-repository -DreResolve=false
摆脱了异常,但未能真正重新加载我遇到问题的依赖项。在这一点上,我遇到了这个答案,这使我尝试
mvn dependency:purge-local-repository -DreResolve=false -DactTransitively=false
解决了问题,尽管它似乎要求与我要实现的目标相反:-/
这看起来像是Maven 3.0.4 中的回归引入的错误maven-dependency-plugin(JIRA 问题MDEP-405 )。
来自保罗·吉尔的评论:
我认为发生这种情况的原因是为了确定要删除的全套传递依赖项,pom 需要可用。如果 pom 已在前一个模块中解析,Maven 将不会再次重新解析它们,只会失败。因此,依赖项不会出现文件已从本地存储库中删除的问题,但是当尝试在同一构建中两次解析同一文件时,maven 依赖项解析代码会失败。
您可以尝试使用 Maven 3.0.3 进行构建,因为 Maven 3.0.4 中对此进行了更改: http://mail-archives.apache.org/mod_mbox/maven-dev/201210.mbox/%3C5752023.Vp0WJBo1vZ% 40bigmax%3E
这与回归MNG-5366相关,目前尚未解决。
除了降级 Maven 之外,我没有看到任何真正的解决方法。
| 归档时间: | 
 | 
| 查看次数: | 3049 次 | 
| 最近记录: |