ご存知のように、Mavenは一種のビルドライフサイクル、つまり一連のフェーズを提供します。これは、POMの検証、ソースの生成(必要な場合)、クラスのコンパイルなどの基本的なものから始まり、ローカルへのインストールで終わります。リポジトリとリモートリポジトリへのアーティファクトのデプロイ。重要なのは、これはシーケンスなので、ここでは順序が重要です。あるフェーズ(たとえばinstall
)を呼び出すと、最初からのすべてのフェーズがinstall
次々に実行されます。
さて、これらのライフサイクルのフェーズは、私たちが通常これを考慮しているように、すべてのソフトウェアプロジェクトが構築するために実行する必要があるステップに関するいくつかの一般的なアイデアです。また、ご存知のように、ソフトウェアアーティファクトにはさまざまな性質があるため、すべてのフェーズで非常に具体的な処理を行う必要があります。それがライフサイクルマッピングです。packaging
アーティファクトの性質( Mavenの世界を意味する)に固有のライフサイクルのフェーズと具体的なプラグインの目標の間を拘束します。
したがって、たとえば、このパッケージ化のマッピングはjar
、maven-compiler-plugin:compile
フェーズcompile
で呼び出す必要があることを示していますが、ear
パッケージングは、そのcompile
フェーズで何も呼び出す必要がないことを示しています。その他の例については、こちらをご覧ください。