AopProxyUtils.getSingletonTarget(Ljava/lang/Object;)Ljava/lang/Object

轉發以作記錄,原文鏈接
https://blog.csdn.net/panguang9713/article/details/77471330
項目啓動時,一直報這個異常,在網上找了很久,終於在這個文章上找到了解決方案

當你到我的博客恭喜你找到問題解決辦法了,因爲當我出現這個問題的時候翻遍了百度和谷歌,沒找到一篇相關的。唯獨有一個人寫了,但是並沒有解決我的問題: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,重新部署,搞定!

同時評論上有條評論說的也很好,我的就是activemq依賴導致的問題

我今天也遇到同樣的問題了,當試了你的方法之後還是不行。我開始用的jar包是spring-aop-4.0.2.RELEASE.jar,activemq的jar包是activemq-all-5.15.2.jar、activemq-pool-5.15.2.jar,後來我改爲用activemq-all-5.9.0.jar、activemq-pool-5.9.0.jar,spring包版本還是用4.0.2的,重新部署後運行正常。部署的tomcat版本是apache-tomcat-7.0.65,本地開發的是apache-tomcat-7.0.72,經測試都沒問題。所有我想是activemq的包版本太高,跟spring版本不匹配導致的(推測而已,有待驗證)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章