Spring+dubbo+mybatis出现NoSuchMethodError和MutablePropertyValues.add异常

2022-05-06 09:00:17 浏览数 (1)

场景

Spring mybatis3 dubbo整合下,出现以下异常。在此问题上花费了两个多小时,终于查到原因。

代码语言:javascript复制
org.springframework.beans.factory.BeanDefinitionStoreException: 

Unexpected exception parsing XML document from class path resource [applicationContext.xml]; 
nested exception is java.lang.NoSuchMethodError: org.springframework.beans.MutablePropertyValues.add(Ljava/lang/String;Ljava/lang/Object;)
Lorg/springframework/beans/MutablePropertyValues;

原因分析

Mybatis使用了过低的Spring jar包导致此异常,进一步查看依赖树,发现在通过maven引入dubbo时,dubbo隐性依赖了低版本的Spring jar包。

解决方法

引入dubbo jar包时将依赖的spring jar包排除

代码语言:javascript复制
<dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>dubbo</artifactId>
     <version>2.5.3</version>
     <exclusions>
         <exclusion>
             <groupId>org.springframework</groupId>
             <artifactId>spring</artifactId>
         </exclusion>
     </exclusions>
 </dependency>

0 人点赞