今天排了一天的jar包冲突,头一次做这种操作,刚开始各种蒙,幸运的是总算把问题解决了,记录一下步骤:
1、第一步当然是看日志了,看日志报的什么错误,jar包冲突常见的报错是nosumethod,然后会给出具体的方法与具体的类
2、确定了冲突的类后,要找到这个类是在哪个包里的了。在idea中command + n可以搜索类,根据日志确定出这个类在哪个包里,这个可能会遇到不同包里重名的类,
但是类的路径是肯定不同的,综合判断一下。
3、找到了冲突的包,下面就看有几个版本了,如何冲突了。这个可以使用mvn dependency:tree 来看依赖,不过还是很麻烦(我是没太看懂)
在idea里有一个工具,在maven projects的视图下,右键点击show dependcies,会给出依赖的视图,这个视图也很复杂根本看不出什么结果,
还好里面是支持搜索的功能,command + F来搜jar包,冲突的话,会有多个结果,选中其中一个,可以看jar的具体版本,右键还可以直接exclude,
很方便。
4、到这块,依赖冲突的排查就基本完成了。步骤不多,有一定的经验,更多的力气活。。。
注:排查的时候一定要有耐心和毅力