私はアプリケーションを備えたEARを持っており、WARとしてパッケージ化された独自のコードでこのアプリを拡張する必要があります。WARをEAR内に配置するのに役立つMavenプラグインはありますか?
手動の手順では、WARをEAR内に配置し、application.xmlにモジュールを追加します。それを自動化したいと思います。
編集:小さな説明-WARプロジェクトはmavenを使用していますが、EARの場合はバイナリファイルしかありません。
私はアプリケーションを備えたEARを持っており、WARとしてパッケージ化された独自のコードでこのアプリを拡張する必要があります。WARをEAR内に配置するのに役立つMavenプラグインはありますか?
手動の手順では、WARをEAR内に配置し、application.xmlにモジュールを追加します。それを自動化したいと思います。
編集:小さな説明-WARプロジェクトはmavenを使用していますが、EARの場合はバイナリファイルしかありません。
を持つ新しいモジュールを作成します<packaging>ear</packaging>
。
このearモジュールの依存関係に、モジュールを含めますwar
。
<dependency>
<groupId>com.your.group.id</groupId>
<artifactId>your-war-artifact</artifactId>
<version>your-war-version</version>
<type>war</type>
</dependency>
このearモジュールのビルドプラグインに、次のようなmaven-ear-pluginを含めます。
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<finalName>MyEarFile</finalName>
<version>5</version>
<generatedDescriptorLocation>${basedir}/src/main/application/META-INF</generatedDescriptorLocation>
<modules>
<webModule>
<groupId>com.your.group.id</groupId>
<artifactId>your-war-artifact</artifactId>
<uri>YouWarFile.war</uri>
<bundleFileName>YouWarFile.war</bundleFileName>
<contextRoot>/appname</contextRoot>
</webModule>
</modules>
</configuration>
</plugin>
必要に応じて、の特定の構成値を変更できますwebModule
。
次に、(を使用して)親モジュールを作成し、<packaging>pom</packaging>
それにwarモジュールとearモジュールを追加します。<parent>
戦争モジュールと耳モジュールを正しく設定してください。
この新しい親のために実行するmvn package
と、warファイルはwarモジュールによってビルドされ、earファイル(warを含む)はearモジュールによってビルドされます。
WAR を依存関係として追加し、maven ear pluginを使用します。次にear:generate-application-xmlゴールを使用し、最後にear:earゴールを使用します。