5.2. Maven プロジェクト構造の確認
/path/to/output/mavenized/<APPLICATION_NAME>/
ディレクトリーには、以下の項目が含まれます。
-
ルート
POM
ファイル。これは、最上位ディレクトリーのpom.xml
ファイルです。 -
BOM ファイル。これは、
-bom
で終わるディレクトリーのPOM
ファイルです。 -
1 つ以上のアプリケーション
POM
ファイル。各モジュールには、アーカイブの名前が付けられたディレクトリーにPOM
ファイルがあります。
サンプルの jee-example-app-1.0.0.ear
アプリケーションは、WAR と複数の JAR を含む EAR アーカイブです。これらのアーティファクトごとに個別のディレクトリーが作成されます。以下は、このアプリケーション用に作成された Maven プロジェクト構造です。
/path/to/output/mavenized/jee-example-app/ jee-example-app-bom/pom.xml jee-example-app-ear/pom.xml jee-example-services2-jar/pom.xml jee-example-services-jar/pom.xml jee-example-web-war/pom.xml pom.xml
生成された各ファイルを確認し、プロジェクトに合わせてカスタマイズします。Maven POM ファイルの詳細は、Apache Maven ドキュメントの「Introduction to the POM」セクションを参照してください。
ルート POM ファイル
jee-example-app-1.0.0.ear
アプリケーションのルート POM ファイルは /path/to/output/mavenized/jee-example-app/pom.xml
にあります。このファイルは、すべてのプロジェクトモジュールのディレクトリーを特定します。
以下のモジュールは、サンプルの jee-example-app-1.0.0.ear
アプリケーションのルート POM の一覧に記載されています。
<modules> <module>jee-example-app-bom</module> <module>jee-example-services2-jar</module> <module>jee-example-services-jar</module> <module>jee-example-web-war</module> <module>jee-example-app-ear</module> </modules>
必要に応じて、モジュールの一覧がプロジェクトの適切なビルド順序に一覧表示されるように、必ずモジュールの一覧の順番を変更してください。
また、ルート POM は Red Hat JBoss Enterprise Application Platform Maven リポジトリー を使用してプロジェクトの依存関係をダウンロードするように設定されます。
BOM ファイル
BOM (Bill of Materials) ファイルは、-bom
で終わるディレクトリーに生成されます。サンプルアプリケーション jee-example-app-1.0.0.ear
の場合、BOM ファイルは /path/to/output/mavenized/jee-example-app/jee-example-app-bom/pom.xml
にあります。このBOMの目的は、プロジェクトで使用されるサードパーティの依存関係のバージョンを 1 か所で定義することです。BOM の使用に関する詳細は、Apache Maven ドキュメントの「Introduction to the dependencies mechanism」セクションを参照してください。
以下の依存関係は、jee-example-app-1.0.0.ear
アプリケーションの BOM に一覧表示されています。
<dependencyManagement> <dependencies> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.6</version> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.5</version> </dependency> </dependencies> </dependencyManagement>
アプリケーション POM ファイル
Maven が可能なアプリケーションモジュールには、POM ファイルが含まれる個別のディレクトリーがあります。ディレクトリー名には、アーカイブタイプに応じてアーカイブの名前と、接尾辞 -jar
、-war
、または -ear
で終わるものが含まれます。
各アプリケーション POM ファイルには、以下を含むモジュールの依存関係が一覧表示されます。
- サードパーティーライブラリー
- Java EE API
- アプリケーションサブモジュール
たとえば、jee-example-app-1.0.0.ear
EAR (/path/to/output/mavenized/jee-example-app/jee-example-app-ear/pom.xml
) の POM ファイルには、以下の依存関係の一覧が記載されます。
<dependencies> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.6</version> </dependency> <dependency> <groupId>org.jboss.seam</groupId> <artifactId>jee-example-web-war</artifactId> <version>1.0</version> <type>war</type> </dependency> <dependency> <groupId>org.jboss.seam</groupId> <artifactId>jee-example-services-jar</artifactId> <version>1.0</version> </dependency> <dependency> <groupId>org.jboss.seam</groupId> <artifactId>jee-example-services2-jar</artifactId> <version>1.0</version> </dependency> </dependencies>