文章目录
- 使用idea插件maven helper
- 使用maven指令
在Java开发中,常常会遇到不同jar包之间存在冲突的情况,这可能会导致编译错误、运行时异常等问题。
使用idea插件maven helper
在idea安装插件maven helper
安装重启完之后点击pom文件,有一个Dependency Analyzer,可以搜索冲突的jar名称,如guava,点击filter还可以进行过滤。
对飘红冲突的jar鼠标右击可以进行Exclude排除,或者Jump to source自己手动exclusion排除
使用maven指令
在 Maven 中,可以使用以下命令来查看项目的依赖树:
mvn dependency:tree
这将显示项目所有依赖的树状结构,包括直接依赖和传递依赖。通过查看依赖树,可以了解项目中使用的所有库及其版本,并帮助解决依赖冲突和版本问题。
可以在运行结果中搜索冲突jar名称,顺着树状结构就能知道最上层的包是哪一个,找到后进行exclusion排除
以下面例子为例,名称为guava的冲突jar文件在xxx-common的jar里。
[INFO] ± xxx-common:jar:1.6.1-SNAPSHOT:compile
[INFO] | ± org.apache.curator:curator-framework:jar:2.12.0:compile
[INFO] | | - org.apache.curator:curator-client:jar:2.12.0:compile
[INFO] | ± com.ctrip.framework.apollo:apollo-client:jar:1.0.0-vault-SNAPSHOT:compile
[INFO] | | ± com.ctrip.framework.apollo:apollo-core:jar:1.0.0-vault-SNAPSHOT:compile
[INFO] | | ± com.google.inject:guice:jar:4.1.0:compile
[INFO] | | | ± javax.inject:javax.inject:jar:1:compile
[INFO] | | | - aopalliance:aopalliance:jar:1.0:compile
[INFO] | | ± org.slf4j:slf4j-api:jar:1.7.25:compile
[INFO] | | - org.springframework.vault:spring-vault-core:jar:1.1.3.BUILD-Souche-SNAPSHOT:compile
[INFO] | ± io.etcd:jetcd-core:jar:0.3.0:compile
[INFO] | | ± io.etcd:jetcd-common:jar:0.3.0:compile
[INFO] | | ± io.etcd:jetcd-resolver:jar:0.3.0:compile
[INFO] | | ± io.grpc:grpc-core:jar:1.17.1:compile
[INFO] | | | ± io.grpc:grpc-context:jar:1.17.1:compile
[INFO] | | | ± com.google.errorprone:error_prone_annotations:jar:2.2.0:compile
[INFO] | | | ± org.codehaus.mojo:animal-sniffer-annotations:jar:1.17:compile
[INFO] | | | ± io.opencensus:opencensus-api:jar:0.17.0:compile
[INFO] | | | - io.opencensus:opencensus-contrib-grpc-metrics:jar:0.17.0:compile
[INFO] | | ± io.grpc:grpc-netty:jar:1.17.1:compile
[INFO] | | ± io.grpc:grpc-protobuf:jar:1.17.1:compile
[INFO] | | | ± com.google.protobuf:protobuf-java:jar:3.5.1:compile
[INFO] | | | ± com.google.api.grpc:proto-google-common-protos:jar:1.0.0:compile
[INFO] | | | - io.grpc:grpc-protobuf-lite:jar:1.17.1:compile
[INFO] | | ± io.grpc:grpc-stub:jar:1.17.1:compile
[INFO] | | - io.grpc:grpc-grpclb:jar:1.17.1:compile
[INFO] | | - com.google.protobuf:protobuf-java-util:jar:3.5.1:compile
[INFO] | ± com.souche:bumblebee:jar:1.0.4-SNAPSHOT:compile
[INFO] | | ± org.mockito:mockito-core:jar:2.18.3:compile
[INFO] | | | ± net.bytebuddy:byte-buddy:jar:1.8.5:compile
[INFO] | | | ± net.bytebuddy:byte-buddy-agent:jar:1.8.5:compile
[INFO] | | | - org.objenesis:objenesis:jar:2.6:compile
[INFO] | | - org.aspectj:aspectjweaver:jar:1.8.13:compile
[INFO] | ± com.souche:optimus-remoting-monitor:jar:1.6.1-SNAPSHOT:compile
[INFO] | ± ch.qos.logback:logback-classic:jar:1.2.3:compile
[INFO] | | - ch.qos.logback:logback-core:jar:1.2.3:compile
[INFO] | ± com.google.guava:guava:jar:15.0:compile