【发布时间】:2016-08-21 14:25:41
【问题描述】:
我们有一个这样的maven项目结构:
Parent
L A
L B
A 依赖于B
两者都依赖于其他库
使用mvn clean install 构建它可以正常工作,但是当我们尝试按照here 描述的那样使用
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
似乎没有任何改变。
【问题讨论】:
-
为什么要清除本地缓存?你想解决什么样的问题?
-
@khmarbaise 我需要清除本地存储库缓存,因为工件的内容已更改,而版本未更改。我完全意识到这在所有层面上都是错误的,但这是我无法改变的(至少现在是这样)。此外,我无权访问 CI-Server 上的文件系统
-
CI 服务器中的作业应该具有本地缓存,而不是整个 CI 服务器,因为它会自动使所有作业都依赖于此缓存...我建议创建一个单独的作业来删除这些东西不要为此进行 maven 调用...特别是如果您违反了发布版本工件的不变性,这会导致此类问题和问题...
标签: maven dependency-management purge