GMaven プロジェクトのコンパイル、テスト、インストールとか
GMaven を使って作成した Groovy プロジェクトを「GMaven プロジェクト」と呼ぶことにします(一般的には使われてないと思いますが)。
前回は GMaven プロジェクトの作成方法を見ました(一覧)。 もちろん、プロジェクトを生成するのは開発の出発点なのでその後の操作の説明が必要ですが、これらは通常の Maven2 プロジェクトと同じなので簡単に触れる程度にします。
ただし、Eclipse などの IDE を使うにはいろいろ設定が必要です。 これらは後日に。
★他のライブラリへの依存性を付加する
例えば「MVN Repository」から、使用したい成果物(ライブラリ)の groupId, artifactId, version を調べて、pom.xml に記述します。 ザッとした説明は、例えばこちら。
★ソースコードをコンパイルする
ベースフォルダ上で以下のコマンドを実行します:
mvn compile
★テストする
ベースフォルダ上で以下のコマンドを実行します:
mvn test
このコマンドを実行すると、テストを行う前に compile フェーズを実行します。
★ローカルリポジトリにインストールする
Maven2 での「インストール」とは、Jar ファイルなどの成果物をローカルリポジトリ(「${user.home}/.m2」フォルダと思って下さい)へ配備する(コピーする)ことです。 これによって、作成した成果物を他のプロジェクトから使用することができるようになります。
「インストール」の実行には、ベースフォルダ上で以下のコマンドを実行します:
mvn install
このコマンドを実行すると、インストールを行う前に compile フェーズと test フェーズを実行します。
コンパイルフェーズの挙動をチョット詳しく
GMaven プロジェクトで開発を行う場合、上記のフェーズでどう言った処理をしているかを詳しく知っている必要はありませんが、以下ではコンパイルフェーズを実行した際に行われる処理の概要を見ていきます。
この際、「Groovy ファイル」のみのプロジェクトで見ていっても素っ気ないので、「Java ファイル」や「リソースファイル*1」なども含んでいるプロジェクトを念頭に置いて見ていきます。 それぞれのファイルは以下のフォルダに配置します。
- Groovy ファイル --- 「src/main/groovy」フォルダ
- Java ファイル --- 「src/main/java」フォルダ(「src/main/groovy」でも大丈夫そう)
- リソースファイル --- 「src/main/resources」フォルダ
ちなみに、ここでは扱いませんが、テストに関係するファイルを扱う場合は
- Groovy ファイル --- 「test/main/groovy」フォルダ
- Java ファイル --- 「test/main/java」フォルダ
- リソースファイル --- 「test/main/resources」フォルダ
に配置してください。
★GMaven プロジェクトのフォルダ構造
まず、フォルダ構造の説明。 GMaven プロジェクトでソースを配置する「src/main」フォルダと、コンパイル等々で生成されるファイルを配置する「target」フォルダを下図のように表すことにします。
コンパイルフェーズで実行されるゴール(行われる処理)は次の3つです:
- groovy:generateStubs
- resouces:resources
- compiler:compile, groovy:compile
以下でこれらの各ステップを見ていきます。
★groovy:generateStubs
groovy:generateStubs ゴールでは、Groovy ファイルをプリコンパイルするためのスタブコードを生成します。
挙動:「src/main/groovy」フォルダ下にある Groovy ファイルから、「target/generated-sources/groovy-stubs/main」フォルダ下にスタブとなる Java ファイル を生成します。
★resources:resources
resources:resources ゴールでは、リソースファイルを「target」フォルダ下にコピーします。
挙動:「src/main/resources」フォルダ下にあるリソースファイルを「target/classes」フォルダ下に配置にコピーします。 フィルターなどの設定をしていなければ、そのままコピーするだけです。
★compiler:compile, groovy:compile
compiler:compile、groovy:compile ゴールでは、Java ファイルをコンパイルします。
このコンパイルでのソースとなる Java ファイルは、通常作成する「src/main/java」フォルダ下の Java ファイルと、スタブとして生成された「target/generated-sources/groovy-stubs/main」フォルダ下の Java ファイルです。 それ以外に「src/main/groovy」フォルダ下の Groovy ファイルが参照されるのかどうかは不明(確かめるの面倒)*2。 class ファイルは「target/classes」フォルダに作成されます。
GMaven に定義されているゴール
GMaven には、以下の4つのゴールが定義されています:
Apache Maven 2.0入門 Java・オープンソース・ビルドツール
- 作者: 野瀬直樹,横田健彦
- 出版社/メーカー: 技術評論社
- 発売日: 2006/12/13
- メディア: 大型本
- 購入: 8人 クリック: 141回
- この商品を含むブログ (97件) を見る
- 作者: Brett Porter,Maria Odea Ching
- 出版社/メーカー: Packt Publishing
- 発売日: 2009/09/30
- メディア: ペーパーバック
- クリック: 16回
- この商品を含むブログ (4件) を見る