This question already has answers here:
Display omitted versions in maven dependency:tree?

(2个答案)


5年前关闭。




我遇到了一个编译具有许多依赖项的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)

为什么the dependencies of jruby-complete没有在树中列出? mvn dependency:tree是否仅将gfo扩展到一定深度?这里有什么规则?如果mvn dependency:tree只是向我们展示了其snakeyaml依赖性,那么我们可以节省几个小时的复杂调试。

最佳答案

我相信this forum topic会回答您的问题。如果依赖关系树中已经存在较高的依赖关系,则mojo会修剪较低级别的依赖关系。这意味着所有jruby-complete的依赖项(如果有)都在树中的较浅深度列出。您可以使用verbose flag(-Dverbose)显示忽略的依赖项。

10-07 19:11
查看更多