在Maven有“跳过编织旗帜”吗? (不包括AspectJ)

时间:2014-02-06 08:34:08

标签: performance maven aop aspectj

我使用Maven(许多pom.xml-s)构建我们的多项目应用程序。我们最近介绍了AspectJ,但我怀疑AspectJ会导致性能问题。为了确定,我想在没有AspectJ的情况下构建应用程序,看看它是如何执行的。但我真的不想从pom.xml中删除所有与AspectJ相关的东西,所以如果有某种标志或某些东西可以从构建中排除AspectJ,它会很方便。有没有?
更新:这似乎没有任何影响:-Dmaven.aspectj.skip = true

1 个答案:

答案 0 :(得分:3)

如果要暂时禁用aspectj-maven-plugin,可以向父pom.xml添加一个配置文件,该配置文件取消注册插件的执行(通过将它们分配给阶段 none )。可能看起来像这样(如果你有的话,添加你自己的执行ID):

<profile>
    <id>noAspectJ</id>
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>aspectj-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>compile</id>
                        <phase>none</phase>
                    </execution>
                    <execution>
                        <id>test-compile</id>
                        <phase>none</phase>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</profile>

一个简单的maven cmd激活了这个:

mvn clean install -PnoAspectJ