我的maven-ear-plugin不尊重bundleFileName?

时间:2016-12-05 19:43:59

标签: java maven java-ee ear maven-ear-plugin

我试图使用战争中的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。果然,如果我把它重命名为战争,我可以把它打开,它包含了我期望在那场战争中看到的一切。

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

0 个答案:

没有答案