pom.xml文件详解
大致了解 https://blog.csdn.net/jariwsz/article/details/19554137
精细了解 https://blog.csdn.net/weixin_38569499/article/details/91456988
排除依赖冲突的解决方法(https://www.cnblogs.com/shangxiaofei/p/10251214.html)
1、maven自动解决依赖冲突的规则是什么?
第一原则:路径最近者优先
项目A有如下的依赖关系:
A->B->C->X(1.0)
A->D->X(2.0)
则该例子中,X的版本是2.0
第二原则:路径相等,先声明者优先
项目A有如下的依赖关系:
A->B->Y(1.0)
A->C->Y(2.0)
若pom文件中B的依赖坐标先于C进行声明,则最终Y的版本为1.0
2、解决方法
使用<exclusions>标签来去掉某个dependency依赖中的某一个jar包或一堆jar包,<exclusion>中的jar包或者依赖的相关jar包都会被忽略,从而在两个dependency都依赖某个jar包时,可以保证只使用其中的一个
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.8.3.2</version>
<exclusions>
<exclusion>
<artifactId>guava</artifactId>
<groupId>com.google.guava</groupId>
</exclusion>
<exclusion>
<artifactId>spring</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency>

浙公网安备 33010602011771号