Web系開発メモ

Java, C#, HTML, CSS, JavaScript のことなどを書いてます。

Maven ビルドライフサイクル・フェーズ・ゴールの概要

Maven のビルドライフサイクル、フェーズ(フェイズ)、ゴールについて、調べたことをまとめていきます。

1. ビルドライフサイクルについて

Maven には3つのビルドライフサイクルがあり、それぞれが以下の役割を担っています。

  1. clean:ビルドの成果物を削除します
  2. default:デプロイまで行います
  3. 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 で事前にバインディングされているフェーズとゴールは、こちら で確認することができます。

参考文献

Introduction to the Build Lifecycle