【问题标题】:Is there "skip weaving flag" in Maven? (exclude AspectJ)Maven中是否有“跳过编织标志”? (不包括 AspectJ)
【发布时间】:2014-02-06 08:34:08
【问题描述】:

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

【问题讨论】:

  • 您要排除 aspectJ 插件或相应的库吗?
  • 我想要回到没有从 pom.xml 中删除 aspectj 的情况下不包含 aspectj 的时间。
  • 您是否尝试过按照以下建议禁用 AspectJ 插件?因此在构建期间不会激活 AspectJ 编译器。
  • 抱歉,其他事情的优先级更高,但我会尝试您的方法,如果可行,我会将其标记为已接受的答案

标签: performance maven aop aspectj


【解决方案1】:

如果您想暂时禁用 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多