Maven フレームワークにおける、いくつかの重要な概念を理解しておくことは肝要です。
- プロジェクト・オブジェクト・モデル (POM)
- Maven プロジェクトごとに pom.xml ファイルが用意されます。このファイルにより、依存関係、プロジェクト構造プロパティー、ビルド・フェーズのタスク、および振る舞いが収集されます。ほとんどの POM プロパティーにはデフォルト値があるので、その結果、プロジェクト・ビルドの振る舞いの記述はコンパクトであっても強力なメカニズムになります。
- ビルド・フェーズおよびビルド・ライフサイクル
- ビルド・ライフサイクルは、複数のフェーズで構成されています。フェーズ・コマンドが
発行されると、Maven は、定義されたフェーズに至るまで (このフェーズを含む)、シーケンス内のすべてのフェーズを
実行します。pom.xml ファイルが定義された後、
Maven ツールは、特定のビルド・フェーズに優先順位を付け、
検証、コード生成、リソース・アセンブリー、およびコンパイルからのフェーズに対応します。
ビルド・ライフサイクルは、以下のフェーズから構成されています。
- validate
- compile
- test
- package
- integration-test
- verify
- インストール
- デプロイ
ビルド・ライフサイクルについて詳しくは、次を参照してください。http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
- ゴール
- ゴールとは、ビルド・フェーズよりも細分化された、プロジェクトのビルドと管理に寄与する特定のタスクのことです。
- パッケージ
- パッケージを設定すると、一式のデフォルト・ゴールが割り当てられます。有効な
パッケージの値の例として、jar、war、ear、および pom があります。
- Maven プラグイン
- プラグインとは、特定のパッケージ方式またはプロセスに結び付けられた、一式のゴールを記述したものです。
- Mojo
- プラグイン内に実装された特定のタスク。例えば、優先ランタイム環境にデプロイするための Java™ クラス実装など。
- アーキタイプ
- アーキタイプは、新規プロジェクトをセットアップするためのプロジェクト・テンプレートとして使用します。
これらのテンプレートにより、パッケージのゴール、プラグインの設定、および標準ライブラリーへの定義済み依存関係を定義して、組織内で標準化を図ることが容易になります。
- Maven リポジトリー
- リポジトリーは、さまざまなタイプのビルド成果物および依存関係を保管するために使用します。例えば、アーキタイプ、プラグイン、および JAR ファイルなどです。ローカル・リポジトリーには、ビルド目的でリモート・リポジトリーの内容が、必要に応じて遅延設定されます。