mvn dependency:tree -Dverbose -Dverbose参数会把被忽略的jar,即相同jar包的不同版本引入也列出来。
mvn dependency:tree -Dincludes=<groupId>:<artifactId>
+- org.apache.hadoop:hadoop-common:test-jar:tests:3.3.1:compile
[INFO] | | | +- (org.apache.hadoop.thirdparty:hadoop-cli_3_7:jar:1.1.1:compile - omitted for duplicate) 省略,有可以直接复制的,也没有
[INFO] | | | +- (org.apache.hadoop:hadoop-annotations:jar:3.3.1:compile - omitted for conflict with 2.7) 省略,因为有冲突的,就是这里没有被编译。
表示3.3.1编译的时候会被省略,因为与2.7版本冲突,实际运行的是2.7
idea maven dependency analyzer 插件
jackson-core-asl: 1.9.13 [compile] (omitted for conflict with: 1.9.2)
表示当前包的版本是1.9.13 被编译的时候,由于依赖冲突被省略,实际运行1.9.2版本
解决方法参考:maven依赖冲突以及解决方法 - 知乎