application.xml中必需的尾部斜杠

时间:2014-06-13 09:49:53

标签: java maven java-ee deployment weblogic

我们正在尝试构建Web应用程序并将其部署到WebLogic 12c服务器。我们的问题是我们生成的application.xml缺少尾部斜杠。我们生成的application.xml如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd" version="6">
    <display-name>app-ear</display-name>
    <module>
        <web>
            <web-uri>app-web-0.3.0.war</web-uri>
            <context-root>our-application</context-root>
        </web>
    </module>
    <module>
        <ejb>common-ejb-0.1.jar</ejb>
    </module>
    <module>
        <ejb>app-ejb-0.3.0.jar</ejb>
    </module>
    <module>
        <ejb>app-dao-0.3.0.jar</ejb>
    </module>
    <library-directory>lib</library-directory>
</application>

如果我们手动插入斜杠:

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd" version="6">
    <display-name>app-ear</display-name>
    <module>
        <web>
            <web-uri>/app-web-0.3.0.war</web-uri>
            <context-root>/our-application</context-root>
        </web>
    </module>
    <module>
        <ejb>/common-ejb-0.1.jar</ejb>
    </module>
    <module>
        <ejb>/app-ejb-0.3.0.jar</ejb>
    </module>
    <module>
        <ejb>/app-dao-0.3.0.jar</ejb>
    </module>
    <library-directory>lib</library-directory>
</application>

一切正常。很遗憾,我们无法在生产中手动编辑application.xml。有谁知道如何处理这个问题?

1 个答案:

答案 0 :(得分:1)

你应该尝试(在app-ear / pom.xml中):

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <version>6</version>
                <defaultLibBundleDir>lib</defaultLibBundleDir>
                <includeLibInApplicationXml>false</includeLibInApplicationXml>
                <modules>
                    <ejbModule>
                        <groupId>your_app.groupId</groupId>
                        <artifactId>common-ejb</artifactId>
                        <bundleDir>/</bundleDir> <!-- place my jar here -->
                        <uri>/common-ejb-0.1.jar</uri> <!-- include my jar path in application.xml -->
                    </ejbModule>

                    <!--
                    <jarModule>
                        .... 
                    </jarModule>
                    <webModule>
                        ....
                    </webModule>
                    -->
                </modules>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                    </manifest>
                </archive>
            </configuration>
        </plugin>        
    </plugins>
</build>