「プロジェクト管理ツール」Maven2 で、AspectJ を使用するプロジェクトを扱う方法を見ていきましょう。
POM ファイルに行う変更は
- aspectjrt への依存性を付加する
- コンパイル時に weaving*1 を行うようにする
です。 また、ソース・コードの配置フォルダにも後で少し言及しておきましょう。
aspectjrt への依存性を付加する
まず aspectjrt への依存性を追加しましょう。 これは通常の依存性の追加方法と同じです。 設定するパラメータは次の通り:
groupId | aspectj |
---|---|
artifactId | aspectjrt |
version | 1.5.0 |
POM ファイルでは「/project/dependencies/dependency」要素で設定を行います:
<project> ... <dependencies> ... <dependency> <groupId>aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.5.0</version> </dependency> </dependencies> </project>
コンパイル時に weaving を行うようにする
次に、コンパイル時に weaving を行うように設定しましょう。 この設定は「project/build/plugins/plugin」要素で行います。 大切な設定は <execution> 要素です:
<project> ... <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>aspectj-maven-plugin</artifactId> <executions> <execution> <goals> <goal>compile</goal> <goal>test-compile</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>
ソース・コードを配置するフォルダ
Aspect のソース・コードを配置するフォルダは、デフォルトで「src/main/aspect」フォルダ下だそうですが、通常の Java コードと同じ「src/main/java」フォルダ下でも良いようです。
テスト時に使用する Aspect のコードは、デフォルトで「src/test/aspect」に置くことになっているようですが、チョット試してみたところ、うまくいきませんでした。 「src/test/java」も然り。 デフォルトでは、「src/test/aspect」フォルダ下のアスペクトは「src/main/java」フォルダ下のクラスには織り込まれない模様。
これらはコンフィギュレーション・ファイルによって設定することも可能です。 またそのうちに。
*1:クラスファイルにアスペクトで指定されたコードを「織り込む」作業。