idea maven 出现java.lang.NoSuchMethodError 问题

xu.wang

发布于 2018.07.02 09:14 阅读 3076 评论 0

问题:

 

打开项目的时候其中某个子项目出现:java.lang.NoSuchMethodError: org.springframework.aop.framework.AopProxyUtils.getSingletonTarget 错误。

 

原因:

 

NoSuchMethodError错误的原因有两种,1:没有引入此包,2:包冲突即引用了多个相同的包但是版本不同引起导致出错。

 

解决办法:

 

1. 在External Libraries 种查看是否有此包

经查看有aop的包,所以排除没有引入包的错误。

2. 查看上图中包发现存在两个aop的包,所以判断是因为包冲突导致的错误。查看下图中发现项目中spring出现了两个版本,4.2.5和4.3.13

3. 删除多余的包或引用:

目前为止已经找到了错误,此错误原因是因为之前在项目中引用spring-4.2.5版本,但是现在换成了4.3.13版本,虽然修改了主项目中的spring版本但是没有修改或者删除子项目中spring的版本引用导致此错误的发生。所以删除子项目中的spring版本引用即可

如下图:

删除红框中的spring.version即问题解决。