相同jar包依赖冲突,项目中直接+间接引用了不同版本的jar包,idea打包时引用旧包,编译过程中报某方法不存在

报错图片及原因

本地项目引用的公用包版本10 ,但是本地项目会依赖其他项目A、B,而项目A引用的公用包版本9项目B版本引用的公用包版本8,导致本地项目直接加间接的有3个公用包版本

本地的业务方法需要使用公用包版本10,但是打包编译时用的公用包版本9,而公用包版本9没有该方法,所以报方法不存在

报错图片,方法引用的旧包方法,导致编译时报错

解决方法

①使用maven自带的依赖关系查找功能【Analyze Dependencies】,找到公用包版本9公用包版本8间接依赖的地址;

②pom文件中,引用项目A、B时加入exclusions将公用包去除

相同jar包依赖冲突,项目中直接+间接引用了不同版本的jar包,idea打包时引用旧包,编译过程中报某方法不存在_第1张图片

相同jar包依赖冲突,项目中直接+间接引用了不同版本的jar包,idea打包时引用旧包,编译过程中报某方法不存在_第2张图片

其他解决办法

本地idea不想安装Maven Helper插件,因为我目前觉得自己使用maven自带的依赖查找功能就可以解决jar包冲突问题,没必要去使用插件; 另外我觉得插件多多少少会占用电脑的资源,我本身电脑资源也不太够了,平时也不喜欢安装插件;插件虽然好用,但是不用插件也是可以解决问题的

喜欢使用插件的,可以安装一个试试,安装成功后,需要重启idea;不用的时候禁用disabled就好了,禁用就不会占用电脑资源了

相同jar包依赖冲突,项目中直接+间接引用了不同版本的jar包,idea打包时引用旧包,编译过程中报某方法不存在_第3张图片
相同jar包依赖冲突,项目中直接+间接引用了不同版本的jar包,idea打包时引用旧包,编译过程中报某方法不存在_第4张图片

你可能感兴趣的:(java开发日常踩坑,jar,intellij-idea,java)