jdk1.8+SpringAOP注解報java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut select錯誤的不知原因的解決辦法[僅供參考]


先說辦法:如果Aspectweaver-1.*.*jar這三個包版本比較低,

比如1.5.0這一層次的,可以找版本高一點的包替換低版本的包,問題可以得到解決

jar包的下載地址:https://mvnrepository.com/artifact/org.aspectj

 

昨天晚上學AOP時,報題目中的錯誤,經過我百度還有谷歌,我看到一個比較"靠譜"的解決辦法,我深以為然,這個辦法解釋是因為jdk的版本不一致,我用的是jdk1.8,

說是要用1.7,然后,我知道開始了從昨天晚上到現在的debug之旅,在我換成1.7后,又報UnsupportedClassVersionError,然而我又查這個錯誤,結果告訴我是1.8編譯

的文件不能在1.7上跑,wtf...之后我覺得我從一開始就錯了,應該1.8是可以的,我估計是jar包的問題,然后查了一下和jdk1.8搭配的jar包

於是找到了這個博客

https://blog.csdn.net/haleyliu123/article/details/63268203

這博客里面提到三個包:

分別是Spring -AOP-4.3.7RELEASE.jar,Aspectjrt-1.8.6.jar,Aspectweaver-1.8.6.jar,經測試,對於我這種情況(jdk1.8)用這三個包是沒問題的

但是后來我想找找究竟是哪個包的問題

將Spring-AOP包換成5.0.1,程序一樣跑,沒問題

將Aspectjrt1.8.6換成高版本1.9.1,程序一樣pao,沒問題

將Aspectweaver換成原來的低版本1.5.3(我原來是用的這個版本),報標題中的錯

所以我估計這里的錯誤不是jdk的問題,而是Aspectweaver包的版本比較低,所以解決這個問題只要把包的版本升到較高版本就可以解決

但我不同的人的環境都不同,所以這個肯定不是唯一解,僅供參考

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM