jdk1.8+SpringAOP注解报java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut select错误的不知原因的解决办法[仅供参考]

时间:2021-12-09 03:12:28

先说办法:如果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包的版本比较低,所以解决这个问题只要把包的版本升到较高版本就可以解决

但我不同的人的环境都不同,所以这个肯定不是唯一解,仅供参考