我可以隐藏由aspectj-maven-plugin创建的*** $ AjcClosure * .class文件吗?

时间:2017-02-06 09:28:13

标签: maven aspectj-maven-plugin

我正在使用 aspectj-maven-plugin 在方法中生成记录器,并且该方法是注释驱动的。

在编译时,对于定义注释的每个方法,我可以看到在我各自的目标类文件夹中生成***$AjcClosure*.class文件。

问题:

  1. 虽然这是一个编译时活动,但是有什么办法可以避免在编译完成后将这些类放在我的类文件夹中吗?

  2. 如果没有,这些类的目的是什么,并且不会影响创建的jar / war文件的大小,从而导致应用程序中添加的每个注释的总体开销?

  3. 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>
    

1 个答案:

答案 0 :(得分:0)

在做了几次试验和错误后,我认为@Around建议导致创建这些类。有关详细信息,请参阅White paper on optimizing Aspects

现在,我正在使用@Before&amp; @After建议达到记录的目的,方法前后。

我可能错了,但这对我有用。请随时发表您的意见。