AspectJ プロジェクトの POM ファイルへの修正
来源:互联网 发布:c语言if函数里面的= 编辑:程序博客网 时间:2024/06/16 18:59
AspectJ プロジェクトの POM ファイルへの修正
AspectJ
以前の記事で AspectJ プロジェクトの POM ファイル(の雛形)を書きましたが、少々不具合(っぽいもの)があったのでご報告。
問題
aspectj プラグインの設定をしている箇所(/project/build/plugins/plugin)が
<project> ... <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></project>
となってましたが、この設定だと、プロジェクトをビルドする際、織り込みが2度(main コードのコンパイル時と test コードのコンパイル時)行われてしまうようです*1。
解決策
大抵の場合、「test-compile」ゴールを実行しないようにすれば解決すると思います:
<project> ... <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>aspectj-maven-plugin</artifactId> <executions> <execution> <goals> <goal>compile</goal> </goals> </execution> </executions> </plugin></project>
この方法が適用できないのは、Maven2 の「test フェーズ」で行うテストにアスペクトが含まれている場合です。 この場合は、main コード用、test コード用の「.ajproperties」ファイルを書くと解決するかと・・・→
Eclipse のAspectJ プロジェクトで開発する場合について。 Eclipse 上ではテスト・コード内(「src/test/java」フォルダ下)のアスペクトもメイン・コード内(「src/main/java」フォルダ下)のクラスに織り込まれるので、テストはEclipse 上でのみ行い、Maven2 のビルド・プロセスではテストをスキップ(→)しておくと良いかと。 ただし、Maven2 のビルド・プロセスでは「clean」をするのを忘れずに。 例えば成果物をローカル・リポジトリにインストールする場合は以下のようにします:
mvn clean install
- AspectJ プロジェクトの POM ファイルへの修正
- POM ファイルを書こう! 其ノ壱 - POM ファイルの基本
- POM ファイルを書こう! 其ノ弐 - 依存性の追加
- POM ファイルを書こう! 其ノ弐 - 依存性の追加
- POM ファイルを書こう! 其ノ参 - 依存性の推移
- AspectJ GUIアプリの国際化
- Maven2 を使おう! への修正
- POM ファイルを書こう! 其ノ四 - Optional Dependency
- AspectJ ログ
- AspectJ
- aspectJ
- AspectJ
- AspectJ
- AspectJ
- AspectJ
- AspectJ
- AspectJ
- AspectJ
- 出现NSGenericException异常的解决方案
- AOP 開発環境 其ノ四 -- 続・Aspect の作成 & 若干の設定
- AdWhirl 3.0 + AdMob (iPhone+iPad App) 設置方法
- (三)常用的数学函数
- Web架构师成长之路(转载文章)
- AspectJ プロジェクトの POM ファイルへの修正
- 安装 ImageMagick
- (四)继承
- Inpath と Aspect Path の追加
- アスペクト・ライブラリを作る 其ノ参 -- アスペクト・ライブラリを使用する
- IOS UIAlertview的事件处理
- 关于Java的23种设计模式的有趣见解
- 「アスペクト・ライブラリを作る」への注意
- 一位36岁程序员的困惑(转)