使用maven构建CXF& Weblogic 10.3.6的Spring Web Service EAR文件

时间:2013-08-08 03:24:16

标签: spring maven weblogic cxf

我创建了一个简单的CXF& Spring Web服务并使用maven成功构建war文件。现在我需要将此Web服务打包到EAR文件并将其部署在远程weblogic服务器上。

我尝试在网上搜索有关如何使用maven为CXF构建EAR文件的信息。 Spring Web服务但信息不多。

有没有人之前已经这样做了并且能够分享我该怎么做呢?

谢谢!

1 个答案:

答案 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>