我是采用代理模式的aspectj
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.10</version>
<configuration>
<argLine>
-javaagent:/Users/hongjie/.m2/repository/org/aspectj/aspectjweaver/1.8.13/aspectjweaver-1.8.13.jar
</argLine>
<useSystemClassLoader>true</useSystemClassLoader>
<forkMode>always</forkMode>
</configuration>
</plugin>
代码运行报错如下:
![](https://www.codeprj.com/image/aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvNzE4ODY3LzIwMTkwMy83MTg4NjctMjAxOTAzMjcxMDAzNTk0NzEtNDY5MjY5OTQxLnBuZw==.png)
解决方案:
1、需要在 resources 中配置 aop.xml 文件,放置在 META-INF 目录中( resource/META-INF/aop.xml),如没有自行创建
![](https://www.codeprj.com/image/aHR0cHM6Ly9pbWcyMDE4LmNuYmxvZ3MuY29tL2Jsb2cvNzE4ODY3LzIwMTkwMy83MTg4NjctMjAxOTAzMjcxMDA4NTM2NTktMzY4MDE4MDQzLnBuZw==.png)
2、aop.xml 文件中的配置非常容易理解,只需要配置 Aspects 和需要被织入的类即可。
aop.xml
<?xml version="1.0" encoding="UTF-8" ?>
<aspectj>
<weaver options="-Xset:weaveJavaxPackages=true -Xlint:ignore -verbose">
</weaver>
</aspectj>
再次运行解决问题,不会在报错了 |