Maven プロジェクトのビルドをカスタマイズしたい場合にはプラグインを利用します。例えば、Java のコンパイルターゲットとして JDK5.0 のソースを使用したい場合には、以下のように、コンパイラプラグインを使用する定義をPOMに追加します。
... <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> </plugins> </build> ...
Maven 2.0 において、プラグインは依存関係と同じようなものとして見ることもできます。プラグインのダウンロードは自動的行われ、使用できるようになります。この時、設定を変更することで特定のバージョンのプラグインを使用することもできます(デフォルトでは最新のプラグインが利用されます)。
コンパイラプラグインのゴールはビルドのライフサイクルの各フェーズに密接に結びついています。ソースファイルのコンパイルを行うには、どこまでのライフサイクルまでを実行するかを指定することで、ライフサイクル中に含まれるコンパイル処理でプラグインが使用されます。
ソースのコンパイルは以下のコマンドにより実行します。
mvn compile
テストソースをコンパイルするには以下のようにします。
mvn test-compile
上記コマンドでは、ライフサイクルにおいて compiler:test-compile フェーズの前フェーズである compiler:compile などのいくつかの処理が実行されます。
configuration 要素の設定内容はコンパイラプラグインを利用するすべてのゴールに適用されます。コンパイラプラグインはライフサイクル中のコンパイルゴールで既存で使用されているため、上記例ではコンパイルの設定を変更していることになります。この他に、ビルドプロセスに新しいゴールを追加し、特別なゴールとしてカスタマイズすることも可能です。これについては以下を参照してください。
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
プラグインで可能な configuration や goal についての情報は以下のプラグインリストを参照してください。
http://maven.apache.org/plugins/
プラグインにういての一般的な情報は以下のページを参照してください。
http://maven.apache.org/guides/mini/guide-configuring-plugins.html