【问题标题】:mvn dependency:tree with broken transitive dependenciesmvn 依赖关系:具有破坏传递依赖关系的树
【发布时间】:2013-11-05 21:05:16
【问题描述】:

mvn dependency:tree 非常适合列出传递依赖项。

但是,如果您的 POM 中的显式依赖项之一引入了损坏(不可用)的依赖项,则任何 maven 目标(包括 dependency:tree)都会快速失败,并且构建输出只会说明无法下载的工件,但不是您的哪个依赖项使用它。

我知道 IDE 可以找出损坏的依赖项来自何处,但有没有纯 Maven 方法?

我正在使用 Maven 3.1.1。

【问题讨论】:

  • 你的意思是你依赖的一些工件缺少传递依赖吗?
  • 是的,希望我的编辑能让问题更清晰。

标签: maven


【解决方案1】:

当您运行 mvn dependency:tree 并且它快速失败时,您会收到构建错误报告。在该报告中,在“缺失”部分的底部,您应该有“依赖路径”,如下所示:

Path to dependency:
      1) your.application:jar:<version>
      2) your.dependency:jar:<version>
      3) the.missing.dependency:jar:<version>

“your.application”依赖于“your.dependency”,而“your.dependency”又依赖于“the.missing.dependency”。

当然,如果缺少的依赖关系在依赖关系树中较低,则列表可能会更长。

【讨论】:

  • 我没有得到“依赖路径”,而是:[ERROR] Failed to execute goal on project webapp: Could not resolve dependencies for project abc:xyz:jar:0.1.0-SNAPSHOT: Failed to collect dependencies at swank-clojure:swank-clojure:jar:1.4.2 -&gt; cdt:cdt:jar:1.2.6.2 -&gt; org.clojars.gjahad:debug-repl:jar:0.3.1:...。因此,虽然您认为信息是正确的,但我如何在您的答案中获得输出?
  • @coudy 这可能与您正在运行的 maven 版本有关。你用的是什么版本的maven?
猜你喜欢
  • 1970-01-01
  • 2018-02-21
  • 2019-09-27
  • 2015-12-28
  • 1970-01-01
  • 2018-10-20
  • 2019-07-30
  • 2015-11-01
  • 1970-01-01
相关资源
最近更新 更多