【问题标题】:mvn dependency:purge-local-repository fails in multi-module projectmvn 依赖项:purge-local-repository 在多模块项目中失败
【发布时间】: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


【解决方案1】:

虽然这似乎不是确切的问题referenced by @Tunaki 那里的示例让我试试这个:

mvn dependency:purge-local-repository -DreResolve=false

它摆脱了异常但未能真正重新加载我遇到问题的依赖项。那时我遇到了this answer,这让我尝试了

mvn dependency:purge-local-repository -DreResolve=false -DactTransitively=false

虽然它似乎要求与我想要实现的相反:-/

【讨论】:

  • 有趣。这看起来确实很奇怪......!
  • 这个项目有一些“创造性”的方法。可能发生了一些我刚刚错过的奇怪事情。
  • 第二个命令只是跳过所有子模块,所以它并没有真正清除任何东西。似乎没有办法让这个 maven 插件以有用的方式运行。
【解决方案2】:

这看起来像是 Maven 3.0.4 中的回归引入的 maven-dependency-plugin(JIRA 问题 MDEP-405)的错误。

来自Paul Gier's comment

我认为发生这种情况的原因是,为了确定要删除的全套传递依赖项,pom 需要可用。如果 pom 已经在前一个模块中解析,Maven 不会再次重新解析它们,只会失败。所以依赖没有问题,文件已经从本地 repo 中删除了,但是 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 之外,我没有看到任何真正的解决方法。

【讨论】:

  • 虽然这可能是相关的,但这似乎不是问题。看我自己的回复。为指针 +1。
猜你喜欢
  • 1970-01-01
  • 2015-05-04
  • 1970-01-01
  • 1970-01-01
  • 2021-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多