アノテーションに基づくカスタム セキュリティ フレームワークがあります。メソッドのセキュリティ アノテーションに遭遇したときに、aspectj maven プラグインを使用してアスペクトを織ります。
jenkins を使用してプロジェクトをビルドし、aspectj maven プラグインの目標を以下のようにコンパイル用に設定します。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>aspectj-maven-plugin</artifactId>
<version>1.4</version>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>1.6.5</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>1.6.5</version>
</dependency>
</dependencies>
<configuration>
<showWeaveInfo>true</showWeaveInfo>
<complianceLevel>1.6</complianceLevel>
<!-- <weaveDirectories> <weaveDirectory>${project.build.directory}/classes</weaveDirectory>
</weaveDirectories> -->
</configuration>
<executions>
<execution>
<!-- Compile and weave aspects after all classes compiled by javac -->
<phase>process-classes</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
問題は、junit の実行時に発生します。メソッドにセキュリティ関連の注釈が既に織り込まれているため、単体テストは失敗します。
junits を機能させてから、aspectj 織りを行う方法はありますか? .aj ファイルを個別に使用しているため、読み込み時間の織り方をどのように設定できるかわかりません。
これに関するヘルプをいただければ幸いです。
よろしく