0

我正在尝试使用战争中的 maven-ear-plugin 构建一个耳朵(以及一些其他资源,但现在忘记了)。无论如何,我正在尝试使用 ear 插件生成 application.xml 文件。

我的 pom 看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<project 
    xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>
<artifactId>my-ear-mvn</artifactId>
<name>My Ear</name>
<description>My Ear</description>
<packaging>ear</packaging>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-ear-plugin</artifactId>
        <version>2.10.1</version>
        <configuration>
            <defaultLibBundleDir>APP-INF/lib</defaultLibBundleDir>
            <skinnyWars>true</skinnyWars>
            <modules>
            <webModule>
                <groupId>org.my.app</groupId>
                <artifactId>my-web-war</artifactId>
                <bundleFileName>my-web.war</bundleFileName>
                <uri>my-web</uri>
                <context-root>MYWeb</context-root>
            </webModule>
            ...
            </modules>
        </configuration>
      </plugin>
    </plugins>
  </build>      
...

我得到一个如下所示的 application.xml 文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE application PUBLIC
    "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"
    "http://java.sun.com/dtd/application_1_3.dtd">
    <application>
      <display-name>my-ear-mvn</display-name>
      <description>My Ear</description>
      <module>
        <web>
          <web-uri>my-web</web-uri>
          <context-root>MYWeb</context-root>
        </web>
      </module>
    </application>

到目前为止一切顺利,webModule 元素的 uri 子元素(来自 pom)在 application.xml 中生成 web 元素的相应 web-uri 子元素。但是,当我查看耳朵时,在耳朵的根目录中有一个名为 my-web 的文件,我希望在该文件中看到 my-web.war。果然,如果我把它重命名为战争,我可以打开它,里面包含了我希望在那场战争中看到的一切。

无论如何,我可以解决这个问题吗?谢谢!

4

0 回答 0