参考地址:http://www.yangbing.club/2017/07/15/solution-for-jar-conflicts/
首先jar冲突的本质:加载到不正确的类,导致的结果与预期不一致
本质是:
1.同一个jar包,出现了不同的版本; jar包版本较多,不知道加载哪个合适,导致加载到不正确的类
2 同一个类,出现在不同的jar包中;由于种种原因(方法签名不一致),导致使用的类不正确,
导致以上的原因是:
1 .maven 最短路径问题,加载离类最近的jar包,由于内存中的类只能有一个(类加载机制导致),所以加载到不正确的类
2.类加载的顺序不一致,导致,先加载的类不正确,导致后面的正确的类 不能加载;
冲突表象:
解决方案: