带有破损传递依赖的 mvn dependency:tree

4

mvn dependency:tree命令非常适合列出传递依赖关系。

然而,如果您的POM文件中的一个显式依赖项引入了一个损坏(不可用)的依赖项,则任何Maven目标(包括dependency:tree)都会快速失败,并且构建输出仅会显示哪个构件下载失败,而不是使用它的哪个依赖项。

我知道IDE可以找出损坏的依赖项来自哪里,但是否有一种纯Maven的方法呢?

我正在使用Maven 3.1.1。


你的意思是你所依赖的某个构件缺少了传递依赖吗? - Boj
是的,希望我的编辑能够让问题更加清晰明了。 - coudy
1个回答

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",后者又依赖于 "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 -> cdt:cdt:jar:1.2.6.2 -> org.clojars.gjahad:debug-repl:jar:0.3.1:...。虽然您说的信息确实存在,但我应该如何获得您回答中的输出? - coudy
@coudy 这可能与您正在运行的Maven版本有关。 您使用的是哪个版本的Maven? - summerbulb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接