モジュールは、物事を整理するための単なる方法です。
マルチモジュールビルドでは、アーティファクトのツリー全体を1つのステップでビルドできます(Joel Testを思い出してください)。ただし、これらはそれぞれ個別のアーティファクトであり、依存関係として個別に参照できます。
これがサンプルレイアウトで、括弧内にパッケージ化されています。
root (pom)
- project1 (jar)
- project2 (war) -> references project1 as dependency
- project3 (jar)
- project4 (war) -> references project3 as dependency
- project5 (ear) -> references project2 and project4 as dependency
mvn install
ルートディレクトリを呼び出して、ツリー全体を構築します。
ここでの前提は、project1はproject2によってのみ使用され、project3はproject4によってのみ使用されるということです。それ以外の場合は、より複雑なシナリオがあります。
root (pom)
- project1 (jar)
- project2 (jar)
- project3 (war) -> references project1 and project2 as dependency of scope provided
- project4 (war) -> references project1 and project2 as dependency of scope provided
- project5 (ear) -> references project1 through project4 as dependency
したがって、モジュールは複数のプロジェクトを個別に構築する作業を取り除きますが、それでも依存関係を自分で管理する必要があります。