javax.servlet.ServletException: Servlet.init() for servlet despatcherServlet threw exception java.lang.NoSuchMethodError: org.springframework.aop.framework.AopProxyUtils.getSingletonTarget(Ljava/lang/Object;)Ljava/lang/Object
当你到我的博客恭喜你找到问题解决办法了,因为当我出现这个问题的时候翻遍了百度和谷歌,没找到一篇相关的。唯独有一个人写了,但是并没有解决我的问题:http://blog.csdn.net/panguang9713/article/details/77471330。
首先说下我的开发环境:
- IDEA 2017.2.5
- maven 3
- apache-tomcat-7.0.81
- Spring 4.2.4 RELEASE(开发时用的),4.3.12.RELEASE(部署后,可以直接使用它)
需要注意的是我的工程有父工程和子工程,其中父工程的pom.xml中定义好所有的依赖库和版本号,子工程只需要依赖所依赖的库即可,无需带上版本号。重点来了,我在开发过程中一起运行都正常,但是部署到Tomcat中就报文章上面的错误:提示AopProxyUtils类中找不到getSingletonTarget方法。于是我看了下依赖的jar包——spring-aop-4.2.4.RELEASE.jar,里面确实没有这个方法!我就纳闷了,为什么开发中没有报这个错误,而到部署的时候有这个错误呢,原因不得而知啊!没办法,我就翻看Spring 4.3.X版本的API,发现里面有这个方法,于是我把Spring版本改为4.3.12.RELEASE,重新部署,搞定!