22

私はアプリケーションを備えたEARを持っており、WARとしてパッケージ化された独自のコードでこのアプリを拡張する必要があります。WARをEAR内に配置するのに役立つMavenプラグインはありますか?

手動の手順では、WARをEAR内に配置し、application.xmlにモジュールを追加します。それを自動化したいと思います。

編集:小さな説明-WARプロジェクトはmavenを使用していますが、EARの場合はバイナリファイルしかありません。

4

2 に答える 2

47

を持つ新しいモジュールを作成します<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モジュールによってビルドされます。

于 2011-03-02T12:50:28.183 に答える
0

WAR を依存関係として追加し、maven ear pluginを使用します。次にear:generate-application-xmlゴールを使用し、最後にear:earゴールを使用します。

于 2011-03-02T11:59:26.157 に答える