一、冲突的原因
不同jar包依赖同一个jar的不同版本,因为加载顺序的原因,可能出现某些method在低版本的jar中找不到,因此抛异常。
二、解决知识核心
1、在dependencyManagement 指定版本完成定义,在具体模块中引入时不用指定版本,会从定义中选取;
2、Maven默认处理策略
1)最短路径优先
2)最先声明优先
3)移除依赖:用于排除某项依赖的依赖jar包 exclusions
4)版本锁定原则:一般用在继承项目的父项目中(避免各种引入、并且路径最短)
详细见