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>