我可以隐藏由 aspectj-maven-plugin 创建的 ***$AjcClosure*.class 文件吗?
Can I hide ***$AjcClosure*.class files created by aspectj-maven-plugin?
我正在使用 aspectj-maven-plugin 在方法中生成记录器,该方法是注释驱动的。
编译后,对于定义注释的每个方法,我可以看到在我各自的目标 class 文件夹中生成了一个 ***$AjcClosure*.class
文件。
问题:
虽然这是一个编译时间 activity,但有什么方法可以避免在编译完成后将这些 class 放在我的 class 文件夹中结束了?
如果不是,这些 classes 的目的是什么?它们是否会影响创建的 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 建议导致创建了这些 类。详情请参考White paper on optimizing Aspects。
现在,我正在使用@Before 和@After 通知来实现在方法之前和之后记录日志的目的。
我可能是错的,但这对我有用。请随时post发表您的意见。
我正在使用 aspectj-maven-plugin 在方法中生成记录器,该方法是注释驱动的。
编译后,对于定义注释的每个方法,我可以看到在我各自的目标 class 文件夹中生成了一个 ***$AjcClosure*.class
文件。
问题:
虽然这是一个编译时间 activity,但有什么方法可以避免在编译完成后将这些 class 放在我的 class 文件夹中结束了?
如果不是,这些 classes 的目的是什么?它们是否会影响创建的 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 建议导致创建了这些 类。详情请参考White paper on optimizing Aspects。
现在,我正在使用@Before 和@After 通知来实现在方法之前和之后记录日志的目的。
我可能是错的,但这对我有用。请随时post发表您的意见。