倭マン's BLOG

くだらない日々の日記書いてます。 たまにプログラミング関連の記事書いてます。 書いてます。

プラグインを作ろう! (1) -- Mojo プロジェクトの作成・インストール・実行

Maven2 を用いてビルドを行う際、独自の処理を織り込みたいこともあるかと思います。 なので、何回かに渡って Maven2 プラグインの作成方法を見ていきましょう。 公式にはこちらを参照。

基本的なステップは以下の通り:

  1. Mojo プロジェクトを作成する
  2. 処理を実装する
  3. プラグインをインストールする
  4. 処理を実行する

一度プラグインを作成してインストールしてしまえば、「処理を実行する」ステップで何度でも処理を実行することが出来ます。

Mojo プロジェクトを作成する


まずはMaven2 プラグインを作成するための Maven2 プロジェクト(以下、「Plugin プロジェクト」)を作成しましょう。 このプロジェクトにも「groupId」「artifactId」「version」が必要です*1。 以下のサンプルでは

groupId org.sample
artifactId hello
version 1.0

としましょう。

Plugin プロジェクトを作成するには、以下のコマンドを実行します(実際には1行で):

mvn archetype:create -DgroupId=org.sample -DartifactId=hello
-DarchetypeArtifactId=maven-archetype-mojo

この結果、


のようなフォルダ構造が作成されます。 赤い破線で囲まれた部分は、指定した groupId によって異なります。

処理を実装する


処理の実装は次回以降に。 1つの処理に「ゴール(goal)」という名前を付ける必要があります。 以下の説明のため、これを「touch」としましょう*2

プラグインをインストールする


プラグインを実行するには、作成した Plugin プロジェクトをローカル・リポジトリへインストールする必要があります。 このためには、通常の Maven2 プロジェクト同様に、プロジェクトのルートフォルダでコマンド

mvn install

を実行します。

処理を実行する


Plugin プロジェクトで作成した処理を実行するには、「groupId」「artifactId」「goal」を指定して mvn コマンドを実行します*3

mvn groupId:artifactId:goal

ここでのサンプルでは

mvn org.sample:hello:touch

となります。


Apache Maven 2.0入門 Java・オープンソース・ビルドツール

Apache Maven 2.0入門 Java・オープンソース・ビルドツール

*1:「version」を指定しなければ「1.0-SNAPSHOT」を指定したと見なされます。

*2:上記の Plugin プロジェクトで作成されるプロジェクト・テンプレートで、MyMojo にこのゴールが指定されています。

*3:「version」を指定する場合は「mvn groupId:artifactId:version:goal」とします。