我创建了一个简单的CXF& Spring Web服务并使用maven成功构建war文件。现在我需要将此Web服务打包到EAR文件并将其部署在远程weblogic服务器上。
我尝试在网上搜索有关如何使用maven为CXF构建EAR文件的信息。 Spring Web服务但信息不多。
有没有人之前已经这样做了并且能够分享我该怎么做呢?
谢谢!
答案 0 :(得分:0)
maven-ear-plugin docs涵盖了很多这方面的内容。 WebLogic的具体部分是决定使用哪种production redeployment strategy。如果计划是使用“生产重新部署”,那么在ear清单中还有一个附加条目,因此WebLogic具有应用程序的版本信息(更多documentation)。这是一个部分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>