mvn依赖:tree并不真正显示所有依赖项

Dav*_*ams 7 java tree maven

我遇到了一个问题,编译了一个包含许多依赖关系的jar,特别是重叠版本snakeyaml(我们需要1.11,一些依赖关系在1.9中引入).我们跑了,mvn dependency:tree但我们没有在任何输出中看到有问题的二级版本.在进一步检查时,那是否正在jruby-complete进入snakeyaml.为什么没有mvn dependency:tree向我们展示这种级别的向下钻取:

[INFO] |     |  +- org.apache.hbase:hbase-it:jar:0.98.6-cdh5.2.5:compile
[INFO] |     |  |  +- (org.apache.hbase:hbase-common:jar:0.98.6-cdh5.2.5:compile - omitted for duplicate)
[INFO] |     |  |  +- (org.apache.hbase:hbase-protocol:jar:0.98.6-cdh5.2.5:compile - omitted for duplicate)
[INFO] |     |  |  +- (org.apache.hbase:hbase-client:jar:0.98.6-cdh5.2.5:compile - omitted for duplicate)
[INFO] |     |  |  +- org.apache.hbase:hbase-shell:jar:0.98.6-cdh5.2.5:compile
[INFO] |     |  |  |  +- (org.apache.hbase:hbase-common:jar:0.98.6-cdh5.2.5:compile - omitted for duplicate)
[INFO] |     |  |  |  +- (org.apache.hbase:hbase-protocol:jar:0.98.6-cdh5.2.5:compile - omitted for duplicate)
[INFO] |     |  |  |  +- (org.apache.hbase:hbase-client:jar:0.98.6-cdh5.2.5:compile - omitted for duplicate)
[INFO] |     |  |  |  +- (org.apache.hbase:hbase-prefix-tree:jar:0.98.6-cdh5.2.5:runtime - omitted for duplicate)
[INFO] |     |  |  |  +- (org.apache.hbase:hbase-server:jar:0.98.6-cdh5.2.5:compile - omitted for duplicate)
[INFO] |     |  |  |  +- (org.apache.hbase:hbase-hadoop-compat:jar:0.98.6-cdh5.2.5:compile - omitted for duplicate)
[INFO] |     |  |  |  +- (org.apache.hbase:hbase-hadoop2-compat:jar:0.98.6-cdh5.2.5:compile - omitted for duplicate)
[INFO] |     |  |  |  +- (com.yammer.metrics:metrics-core:jar:2.2.0:compile - omitted for duplicate)
[INFO] |     |  |  |  +- (commons-logging:commons-logging:jar:1.1.1:compile - omitted for conflict with 1.2)
[INFO] |     |  |  |  +- org.jruby:jruby-complete:jar:1.6.8:compile
                              >>>>>>> WHY ARE THERE NO DEPENDENCIES HERE? >>>>>>>>>
[INFO] |     |  |  |  +- (org.cloudera.htrace:htrace-core:jar:2.04:compile - omitted for duplicate)
[INFO] |     |  |  |  +- (org.apache.hadoop:hadoop-common:jar:2.5.0-cdh5.2.5:compile - omitted for duplicate)
Run Code Online (Sandbox Code Playgroud)

为什么不在树中列出jruby-complete的依赖项?难道mvn dependency:tree只有GFO到一定深度?这里的规则是什么?如果mvn dependency:tree简单地向我们展示了它的snakeyaml依赖性,我们可以节省几个小时的复杂调试.

Sam*_*uel 6

我相信这个论坛主题会回答你的问题.如果依赖性已经在树中更高地存在,则依赖性树mojo修剪较低级别的依赖性.这意味着所有jruby-complete的依赖项(如果有的话)都列在树中较浅的深度.您可以使用verbose flag(-Dverbose)来显示已省略的依赖项.

  • 自 maven-dependency-plugin 3.0 起不再支持详细信息 (3认同)