0

シンプルな CXF & Spring Web サービスを作成し、maven を使用して war ファイルを正常に作成しました。次に、この Web サービスを EAR ファイルにパッケージ化し、リモートの Weblogic サーバーにデプロイする必要があります。

maven を使用して CXF および Spring Web サービス用の EAR ファイルを作成する方法について Web を検索してみましたが、多くの情報はありません。

以前にこれを行ったことがあり、どうすればこれを行うことができるかを共有できる人はいますか?

ありがとう!

4

1 に答える 1

0

maven-ear-plugin のドキュメントでは、これについて多くのことが説明されています。WebLogic 固有の部分は、どの種類のプロダクション再デプロイメント戦略を使用するかを決定することです。「プロダクション再デプロイメント」を使用する計画の場合は、ear マニフェストに追加のエントリを作成して、WebLogic がアプリケーションのバージョン情報を取得できるようにします (詳細ドキュメント)。部分 POM の例を次に示します。

<groupId>com.company.maven.sample</groupId>
<artifactId>myEarSimple</artifactId>
<version>${my.ear.version}</version>
<packaging>ear</packaging>

<build>
    <finalName>myAppEar</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.8</version>
            <configuration>
                <version>5</version>  <!-- Java EE version used by the app -->
                <displayName>${project.artifactId}</displayName>
                <applicationName>${project.artifactId}</applicationName>
                <fileNameMapping>no-version</fileNameMapping>

                <archive>
                    <manifestEntries>
                        <!-- Must have this if you intend to use production redeployment, use whatever value you like as long as it conforms to WebLogic's version criteria specified in documentation provided -->
                        <Weblogic-Application-Version>${project.version}</Weblogic-Application-Version>
                    </manifestEntries>
                </archive>
                <modules>
                    <webModule>
                        <moduleId>myWebAppId</moduleId>
                        <groupId>com.company.maven.sample</groupId>
                        <artifactId>myWar</artifactId>
                        <contextRoot>myWarContextRoot</contextRoot>
                    </webModule>
                    <ejbModule>
                        <moduleId>myEjbId</moduleId>
                        <groupId>com.company.maven.sample</groupId>
                        <artifactId>myEjb</artifactId>
                    </ejbModule>
                    <!-- other modules here -->
                </modules>
            </configuration>
        </plugin>
    </plugins>
</build>

<dependencies>
    <!-- Here, you specify dependencies corresponding to the modules -->
    <dependency>
        <groupId>com.company.maven.sample</groupId>
        <artifactId>myWar</artifactId>
        <version>${the.war.version}</version>
        <type>war</type>
    </dependency>

    <dependency>
        <groupId>com.company.maven.sample</groupId>
        <artifactId>myEjb</artifactId>
        <version>${my.ejb.version}</version>
        <type>ejb</type>
    </dependency>
</dependencies>
于 2013-08-08T14:39:18.630 に答える