重新看待Jar包冲突问题及解决方案

参考地址:http://www.yangbing.club/2017/07/15/solution-for-jar-conflicts/

 

首先jar冲突的本质:加载到不正确的类,导致的结果与预期不一致

本质是:

1.同一个jar包,出现了不同的版本; jar包版本较多,不知道加载哪个合适,导致加载到不正确的类

2 同一个类,出现在不同的jar包中;由于种种原因(方法签名不一致),导致使用的类不正确,

 

导致以上的原因是:

1 .maven 最短路径问题,加载离类最近的jar包,由于内存中的类只能有一个(类加载机制导致),所以加载到不正确的类

2.类加载的顺序不一致,导致,先加载的类不正确,导致后面的正确的类 不能加载;

 

冲突表象:

 

解决方案:

 

 

 

你可能感兴趣的:(java基础知识)