1. 概要

Mavenは、Javaの世界で最も一般的に使用されているビルドツールです。 主に、すべてのジョブがプラグインによって実装されるプラグイン実行フレームワークです。

このチュートリアルでは、コアMavenプラグインの概要を説明し、これらのプラグインで何ができるか、およびそれらの目標がビルドライフサイクルにどのようにバインドされるかに焦点を当てた他のチュートリアルへのリンクを提供します。

2. Mavenビルドライフサイクル

コアプラグインは、ビルドのライフサイクルと密接に関連しています。

Mavenは、デフォルトサイトクリーンの3つのビルドライフサイクルを定義しています。 各ライフサイクルは複数のフェーズで構成され、mvnコマンドで指定されたフェーズまで順番に実行されます。

最も重要なライフサイクルはデフォルトであり、プロジェクトの検証からパッケージの展開まで、ビルドプロセスのすべてのステップを担当します。

site ライフサイクルは、プロジェクトのMaven関連情報を表示するサイトの構築を担当し、 clean ライフサイクルは、前のビルドで生成されたファイルの削除を処理します。

3つのライフサイクルすべての多くのフェーズは、コアプラグインの目標に自動的にバインドされます。 参照されている記事では、これらの目標と組み込みのバインディングについて詳しく説明します。

すべてのプラグインは、POMのbuild要素で囲まれています。

<build>
    <plugins>
        <!-- plugins go here -->
    </plugins>
</build>

3. デフォルトのライフサイクルにバインドされたプラグイン 

デフォルトのライフサイクルの組み込みバインディングは、POMのpackages要素の値に依存します。 簡潔にするために、最も一般的なパッケージタイプであるjarwarのバインディングについて説明します。

デフォルトライフサイクルの各フェーズにバインドされている目標のリストを「フェーズ->プラグイン目標」[X148Xの形式で示します。 ]:

  • process-resources -> resources:resources
  • コンパイル->コンパイラ:コンパイル
  • process-test-resources -> resources:testResources
  • テストコンパイル->コンパイラ:testCompile
  • テスト->surefire:test
  • package -> ejb:ejbまたはejb3:ejb3またはjar:jarまたはpar:parまたは[ X102X] rar:rarまたはwar:war
  • install -> install:install
  • deploy -> deploy:deploy

上記の目標は、次のプラグインに含まれています。 各プラグインに関する記事のリンクをたどってください。

4. その他のプラグイン

前のセクションで説明したプラグインに加えて、サイトおよびクリーンライフサイクルのフェーズに目標がバインドされている他の2つのコアプラグインがあります。

5. 結論

この記事では、Mavenビルドのライフサイクルについて説明し、Mavenビルドツールのコアプラグインを詳細にカバーするチュートリアルへの参照を提供しました。

参照されているほとんどの記事のコード例は、GitHubにあります。