什么是依赖冲突
依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成类包版本冲突
依赖冲突的原因
依赖冲突很经常是类包之间的间接依赖引起的。每个显式声明的类包都会依赖于一些其它的隐式类包,这些隐式的类包会被maven间接引入进来,从而造成类包冲突
maven依赖解决的两种方式
- 指定统一版本号
为jar包指定一个版本,所有用到的都会是这个版本,多个版本号出现问题,可以自己声明一个。父pom.xml 统一版本好,子类直接引用。
<properties> <test.version>1.12.0<test.version></properties>
- 排除加载
在别的用到这个jar包的地方加上说明,告诉它不用自己加载依赖用别人的,用<exclusion>来排除一些不需要同时下载的依赖jar
项目需求同时使用jar不同版本的特性
利用classload的双亲委派模型原理,pom文件引入一个版本的jar包,由自定义类加载器手动加载其他版本号的jar包