【问题标题】:AspectJ weaving maven modulesAspectJ 编织 maven 模块
【发布时间】:2010-11-17 17:50:27
【问题描述】:

我有一个项目,其中包含多个 Maven 模块,其中一个包含我的方面。如何获取方面并编织多个 Maven 模块? AspectJ Maven 插件的文档有点稀疏,找不到很多示例。

我已经尝试将 aspectj 插件放在父 pom 中,但它似乎没有为它下面的模块应用建议。

我也尝试指定 aspectDirectory 属性,但似乎没有任何影响。也许我做错了?

【问题讨论】:

    标签: maven-2 aspectj


    【解决方案1】:

    我认为这个页面上的机制解释得很好:

    Using Aspect Libraries

    基本上:

    您将所有方面放在一个项目中,使用 aspectj-maven-plugin 对其进行编译,将此项目的依赖项添加到您要编织的所有项目中,并将此配置添加到编织项目中:

    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>aspectj-maven-plugin</artifactId>
        <version>1.3</version>
        <configuration>
            <aspectLibraries>
                <aspectLibrary>
                    <groupId>your.aspects.groupId</groupId>
                    <artifactId>your.aspects.artifactId</artifactId>
                </aspectLibrary>
            </aspectLibraries>
        </configuration>
        <executions>
            <execution>
                <goals>
                    <goal>compile</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
    

    丑陋的部分是:您需要将此配置添加到每个项目中,因此一种可能性是使用父 pom.xml 。不幸的是,它必须与方面项目处于同一级别(因为 pom 无法定义对它下面的项目的依赖),所以你会有这样的东西

        ------- root --------
       /                     \
    aspects   -------- java-parent ----
             /     /     |      |      \
          java1  java2  java3  java4  java5
    

    甚至像这样

           ------- root ---------
          /                       \
    aspect-parent            --- java-parent ---
      /        \            /     |      |      \
    aspects1 aspects2     java1  java2  java3  java4 
    

    您需要将 &lt;dependency&gt; 和 aspectj 插件配置添加到 java-parent 项目的 pom 中

    【讨论】:

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