前回は独自プラグインを作成するための Maven2 プロジェクト「Mojo プロジェクト」の作成・インストール・実行の手順を見ました。
今回からは、プラグインで行う処理を実装する仕方を見ていきます。 Java 以外の言語を用いて処理を実装することもできるそうですが、ここではとりあえず Java を用いた実装に限定します。
Mojo インターフェース
Maven2 のプラグインは1つ以上のゴールからなり、各ゴールの処理をそれぞれ1つの Mojo *1 オブジェクトが実行します。 要は、1つのゴールに対して1つの Mojo の実装を作成すればいいということです。
このクラスには以下の3つのメソッドが定義されています:
メソッド名 | メソッド宣言 | 内容 |
---|---|---|
execute() | public void execute() | ゴールの処理を実行する |
getLog() | public Log getLog() | Log オブジェクトを取得する |
setLog() | public void setLog(Log) | Log オブジェクトを設定する |
「Log オブジェクト」はログ出力(ゴールの実行中にコンソールにメッセージを出力するなどの処理)をする際に用います。 使い方等は次回以降。
AbstractMojo クラス
実際には、直接 Mojo を実装するクラスを作らず、それを実装した抽象クラス AbstractMojo クラスを拡張したクラスを作成します。 archetype プラグインを用いて mojo プロジェクトを作成した場合、自動的にこのクラスのサブクラス「MyMojo クラス」のテンプレートが作成されます(前回のフォルダ構造の図を参照)。
AbstractMojo クラスには
- Mojo インターフェースに定義されている getLog(), setLog() メソッドの実装
- getPluginContext(), setPluginContext() メソッド*2の実装
が定義されています。 結果として、AbstractMojo クラスを拡張した場合、Mojo クラスを作成するには「execute() メソッドを実装する」だけでいいことになります(JavaDoc アノテーションを付加するなどのコーディングも必要ですが)。

Apache Maven 2.0入門 Java・オープンソース・ビルドツール
- 作者: 野瀬直樹,横田健彦
- 出版社/メーカー: 技術評論社
- 発売日: 2006/12/13
- メディア: 大型本
- 購入: 8人 クリック: 141回
- この商品を含むブログ (97件) を見る