Maven概要
- Mavenでは、プロジェクト情報の管理や特定タスク処理の登録・実行を行うことができる。
- 設定は、pom.xmlに定義を記載していくことで行う。
- 各タスク処理は、プラグインをインストールすることで拡張することが可能である。
- プラグインはタスク処理を実行するためのコマンドであるゴールを提供する。
- Mavenにはライフサイクルというビルドの流れを表現する概念がある。
- コマンドを実行する方法には、ライフサイクル、ゴールを利用する。
ライフサイクル
- ライフサイクルは、フェーズというステージによって構成されている。
- ライフサイクルには、ゴールを紐づけることが可能である。
- ライフサイクルにデフォルトでいくつかのゴールが紐づけられている。
- 下記がライフサイクルの主な構成、および紐づいているゴールの機能。
順番 | フェーズ | 紐づく機能 |
---|---|---|
1 | validate | プロジェクトが正しいかどうかを検証する。 |
2 | compile | ソースコードをコンパイルする。 |
3 | test | テストクラスを実行する。 |
4 | package | ソースコードをパッケージングする(jarなど)。 |
5 | verify | パッケージを検証し、基準を満たすかを検証する。 |
6 | install | ローカルリポジトリに作成したパッケージを格納する。 |
※上記とは独立したclean、siteというライフサイクルもある。
処理の実行
mvn ゴールもしくはライフサイクル名(複数指定可能)
- 処理を実行する際は、上記の形でコマンドを利用する。
- ゴールを指定すると対応する処理のみが実行される。
- 一方、ライフサイクルを指定すると対象までのライフサイクルに紐づくすべての機能が実行される。たとえば、installライフサイクルを指定すると、validate~installのライフサイクルに紐づくすべての機能が実行される。
メモ
- ライフサイクルにゴールを紐づける場合は、executionタグを利用する。
- 各ゴールにはオプションを指定することができる。一般的には下記手順にて確認することができる。
1. 下記プラグイン一覧より対象プラグインを選択
2. 左サイドメニューよりGoals選択
3. 対象ゴールをメインメニューより選択
4. 表示されるOptional Parametersが各ゴールで指定できるオプション
- ゴールに対してオプションを指定したい場合は、configurationタグを利用する。定義場所は以下。
- 個々のゴールに対して指定したい場合 → executionタグ配下
- 全てのゴールに対して指定したい場合 → pluginタグ配下