何为依赖冲突
项目中用了 A jar 包依赖 C jar 包, B jar 包也依赖 C jar包,Maven 就帮你下载了两个版本的 C jar 包,然后他们就产生了依赖冲突,这时Maven会依据依赖路径最短优先原则,来决定使用哪个版本的 jar 包,而另一个无用的jar包则未被使用,这就是所谓的依赖冲突。
在大多数情况下,jar 包冲突是不会影响我们系统正常的运行的,但是不排除在一些极端的情景下会出现找不到类的异常 ,我们作为一名严谨的程序员(为了 KPI 考虑),一定要把这个问题解决掉
初步解决依赖冲突问题
解决办法:使用Maven提供的 exclusion 标签,exclusion 标签需要放在 标签内部,就像下面这样
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
<exclusions>
<exclusion>
<artifactId>fastjson</artifactId>
<groupId>com.alibaba</groupId>
</exclusion>
</exclusions>
</dependency>
批量解决依赖冲突
使用 Maven Helper 插件解决依赖冲突

Idea 自带查看依赖冲突的方法

版权声明:本文为weixin_43178089原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。