Dubbo整合Spring时jar包冲突问题

时间:2021-06-18 20:34:51

最近学习Dubbo过程中,出现了一个错误。首先说下系统的结构:Spring+SpringMVC+Maven+Dubbo

本来系统可以正常跑起来,但是加上Dubbo的依赖以后,就报错了。

dubbo依赖如下:

Dubbo整合Spring时jar包冲突问题


添加到pom文件后就发生了这样一个错误,

Dubbo整合Spring时jar包冲突问题


一般NoSuchMethodError都是由于导入了不同版本的jar包造成的。比如说有个方法是showMoney,这个方法在money-1.1.jar里面是没有的,是后续版本(money-2.1.jar)里面添加进去的。但是最终系统还是调用了1.1版本的showMoney方法,最终导致了noSuchMethodError方法。

(个人是这么理解了,如有错误,还请指正)


这样的话我们来看下引入dubbo后,伴随加入了那些jar进来了,mvn dependency:tree

Dubbo整合Spring时jar包冲突问题

Dubbo整合Spring时jar包冲突问题

这里我们可以看到,它默认会把spring的2.5.6版本引入,我系统本来是用的spring的3.1版本,所以最终造成了jar包冲突


解决办法:去除默认引入的spring即可

Dubbo整合Spring时jar包冲突问题