1.缘由
学习spring源码,由于使用gradle创建module,使用aop时,发现不识别@Aspect,@Pointcut等注解。
报
E:\idea_prosess\git项目\spring-framework-5.2.10.RELEASE\spring_study\src\main\java\service\TestAspect.java:3: 错误: 程序包org.aspectj.lang.annotation不存在
import org.aspectj.lang.annotation.After;
^
E:\idea_prosess\git项目\spring-framework-5.2.10.RELEASE\spring_study\src\main\java\service\TestAspect.java:4: 错误: 程序包org.aspectj.lang.annotation不存在
import org.aspectj.lang.annotation.Aspect;
^
E:\idea_prosess\git项目\spring-framework-5.2.10.RELEASE\spring_study\src\main\java\service\TestAspect.java:5: 错误: 程序包org.aspectj.lang.annotation不存在
import org.aspectj.lang.annotation.Pointcut;
^
E:\idea_prosess\git项目\spring-framework-5.2.10.RELEASE\spring_study\src\main\java\service\TestAspect.java:14: 错误: 找不到符号
@Aspect
^
符号: 类 Aspect
E:\idea_prosess\git项目\spring-framework-5.2.10.RELEASE\spring_study\src\main\java\service\TestAspect.java:17: 错误: 找不到符号
@Pointcut("within(service.B)")
2.思路
借鉴了大佬的解决方法
3.解决方法
在build.gradle配置文件中,加入aspectj的两个依赖,即可
compile('org.aspectj:aspectjrt:1.9.1')
compile('org.aspectj:aspectjweaver:1.9.1')