概述 在Spring boot项目中,使用Aspectj实现AOP面向切面编程,以处理一些请求日志或者对某些方法进行一些监控的时候,报了【can't find referenced pointcut】的错误。
报错信息如下:
Initialization of bean failed; nested exception is java.lang.IllegalArgu
mentException: error at ::0 can't find referenced pointcut executeController
环境 jdk 8;spring版本 4.0.0;maven 3.5.4。
报错原因 spring AOP依赖jar版本过低。
解决方案 将aspectjweaver.jar替换较新的aspectjweaver-1.9.0.jar
在http://mavenrepository.com/ 搜aspectjweaver,找到:
<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.0</version> </dependency>
当然,更高版本的也可以。关于低版本jdk,网上搜到了一些对应aspectjweaver配置信息:
JDK1.6 ——aspectjweaver 1.6
JDK1.7 ——aspectjweaver 1.7.3+