A = 私が書いた maven プラグイン
B = ビルド プロセスの一部として A を使用する Maven プロジェクト
Maven を使用して A をビルドすると、aspectj は期待どおりに動作し、単体テスト中にポイントカットにヒットしました。Maven を使用して A をビルドするので、aspectj-maven-plugin を使用してビルドします。
問題は、maven を使用して B をビルドし、プラグインの依存関係として A を含める場合、ビルド プロセス中に A が実行されている間、ポイントカットにヒットしないことです。
これを解決するために、Aspectj-maven-plugin を B に含めようとしましたが、うまくいきませんでした。この問題を解決するために、B でさまざまな形式の構成も試しました。現在、B の構成は次のとおりです。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
<complianceLevel>${maven.compiler.target}</complianceLevel>
<forceAjcCompile>true</forceAjcCompile>
<showWeaveInfo>true</showWeaveInfo>
<weaveWithAspectsInMainSourceFolder>true</weaveWithAspectsInMainSourceFolder>
<encoding>UTF-8</encoding>
<aspectLibraries>
<aspectLibrary>
<groupId>com</groupId>
<artifactId>A</artifactId>
</aspectLibrary>
</aspectLibraries>
<weaveDependencies>
<weaveDependency>
<groupId>com</groupId>
<artifactId>A</artifactId>
</weaveDependency>
</weaveDependencies>
</configuration>
</plugin>