Maven のビルドライフサイクル、フェーズ(フェイズ)、ゴールについて、調べたことをまとめていきます。
1. ビルドライフサイクルについて
Maven には3つのビルドライフサイクルがあり、それぞれが以下の役割を担っています。
clean
:ビルドの成果物を削除しますdefault
:デプロイまで行いますsite
:ドキュメントを生成します
2. フェーズについて
ライフサイクルは、複数のフェーズで構成されています。例えば、ライフサイクル default
には、以下のフェーズが存在します。
validate
:プロジェクトの検証をしますcompile
:コンパイルをしますtest
:単体テストをしますpackage
:jarなどにパッケージングしますverify
:品質の確認をしますinstall
:ローカルリポジトリにインストールしますdeploy
:リモートリポジトリにコピーします
下のコマンドを実行すると、package
までのフェーズが順番に(validate
, compile
, ..., package
)実行されます。
mvn package
また、下のようにフェーズを続けて実行することができます。
mvn clean deploy
各ライフサイクルに存在する全てのフェーズは、こちら で確認することができます。
3. ゴールについて
フェーズは、プラグインのゴールで構成されています。
例えば、フェーズ compile
には、compiler
プラグインのゴール compile
がバインドされています。フェーズを実行すると、バインドされたプラグインの処理が実行されます。
コマンドラインでは、プラグインのゴールを実行することもできます。
mvn clean resources:resources compiler:compile
Maven で事前にバインディングされているフェーズとゴールは、こちら で確認することができます。