我试图使用战争中的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。果然,如果我把它重命名为战争,我可以把它打开,它包含了我期望在那场战争中看到的一切。
无论如何,我能解决这个问题吗?谢谢!