可以通过在application.properties文件中配置ajc.exclude来解决此问题。将不需要织入的类的包名添加到ajc.exclude中,以确保AspectJ不会尝试织入这些类。
例如,在application.properties文件中添加以下内容:
spring.aop.auto=true
spring.aop.proxy-target-class=true
spring.aop.aspectj.autoproxy=true
spring.aop.aspectj.aspect-directory=classpath:aspect
spring.aop.aspectj.weaving-autoproxy=true
spring.aop.aspectj.expose-proxy=true
spring.aop.aspectj.use-old-aspectj-weaver=false
spring.aop.aspectj.weaver-options=-verbose -showWeaveInfo -debug
ajc.exclude=com.example.no.weave.package.*
这表示AspectJ将不会尝试织入com.example.no.weave.package包中的任何类。
此外,确保aop.xml文件在正确的位置,例如:src/main/resources/META-INF/aop.xml。如果不是在此路径下,确保在application.properties文件中正确指定aspectj.aspect-directory属性。
参考示例:https://github.com/joinfaces/joinfaces/issues/766#issuecomment-496581165