我正在使用aspectj-maven-plugin在方法中生成记录器,并且该方法是注释驱动的。
编译时,对于定义注释的每个方法,我可以看到在我各自的目标类文件夹中生成了一个***$AjcClosure*.class
文件。
问题:
-
尽管这是一个编译时活动,但有什么方法可以避免在编译结束后将这些类放在我的类文件夹中?
-
如果不是,这些类的目的是什么,它们是否会影响创建的jar/war文件的大小,从而影响应用程序中添加的每个注释的总体开销?
Java 版本 : 1.7 &AspectJ Maven插件当前配置:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.5</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<complianceLevel>1.7</complianceLevel>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
在做了几次尝试和错误之后,我认为@Around建议导致了这些类的创建。有关更多详细信息,请参阅有关优化方面的白皮书。
现在,我正在使用@Before和@After建议来实现方法前后的日志记录目的。
我可能是错的,但这对我有用。请随时发表您的意见。