关于idea引用jar包冲突问题
问题描述: 在工作中遇见了一种非常奇怪的问题,我在引入一段第三方的写好的解密demo到自己项目中的时候,在我根据第三方提供的文档在pom.xml中引入对应的jar包后,出现代码中的类引用错误的情况。解密demo中有一个类的引用指向了程序中引用的其他的jar包的类中。
问题排查: 在我们排查的过程中发现项目原有的jar包和新引入的jar包中相同的路径下都包含这个类。这导致在idea的引用中默认引用了旧的jar包中的这个类。
问题分析: 经过分析发现idea对jar包的引用是按照pom.xml文件中的先后顺序进行加载的
解决方案: 通过调整pom.xml的引用顺序就可以实现优先在家第三方的jar包,从而解决这个问题。同样网上也有其他方式,比如:引用第三方插件强制让某个类加载某个jar包,或者调整idea的加载顺序等等。但是本着三方插件的稳定性无法验证的情况下我们还是选择了调整pom.xml的引用顺序。