AspectJ 编织 Maven 模块

2024-03-23

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

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

我还尝试指定方面目录属性,但它似乎没有任何影响。也许我做错了?


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

使用方面库 http://www.mojohaus.org/aspectj-maven-plugin/examples/libraryJars.html

基本上:

您将所有方面放入一个项目中,使用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。不幸的是,它必须与方面项目处于同一级别(因为 pom 无法定义对其下面的项目的依赖项),所以你会有这样的东西

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

甚至像这样

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

你会添加<dependency>并将aspectj插件配置到java-parent项目的pom中

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AspectJ 编织 Maven 模块 的相关文章

随机推荐