【发布时间】:2017-02-06 09:28:12
【问题描述】:
我在方法中使用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>
【问题讨论】:
-
为什么这些类的存在是个问题? AspectJ 需要它们才能正常工作。
-
嗨 Tunaki,在反编译后我可以看到这些类是空的。
class{}可用的代码只有这么多。这样的课程可能需要什么?此外,当我通过命令提示符运行项目构建时,不会生成这些类.. -
也许你被反编译器愚弄了……
-
好吧,我能对这个评论说什么:) 我在证明!
-
另外,我在这里重复第 2 点,即为源代码中添加的每个注释创建一个文件 - 无论出于何种目的,这都是一个好的代码/想法吗?
标签: maven aspectj-maven-plugin