gpt4 book ai didi

maven-2 - AspectJ 编织 maven 模块

转载 作者:行者123 更新时间:2023-12-04 00:48:41 27 4
gpt4 key购买 nike

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

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

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

最佳答案

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

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

您将同时添加 <dependency>和aspectj插件配置到java-parent项目的pom

关于maven-2 - AspectJ 编织 maven 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4207478/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com