使用bundleFileName时,maven EAR插件将war文件打包两次

时间:2013-10-02 08:47:09

标签: maven ear

我想使用Maven EAR插件将两个.war文件打包成一个.ear文件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-ear-plugin</artifactId>
    <version>2.8</version>
    <executions>
        <execution>
            <id>package-mae</id>
            <phase>package</phase>
            <configuration>
                <version>6</version>
                <modules>
                    <webModule>
                        <groupId>de.ast</groupId>
                        <artifactId>mae-mobile</artifactId>
                        <contextRoot>/mobile</contextRoot>
                        <bundleFileName>/mae-mobile.war</bundleFileName>
                    </webModule>
                    <webModule>
                        <groupId>de.ast</groupId>
                        <artifactId>mae-rest</artifactId>
                        <contextRoot>/api</contextRoot>
                        <bundleFileName>/mae-rest.war</bundleFileName>
                    </webModule>
                </modules>
            </configuration>
            <goals>
                <goal>generate-application-xml</goal>
                <goal>ear</goal>
            </goals>
        </execution>
    </executions>
</plugin>

除了war文件是每个包两次,即ear文件包含:

之外,它的效果很好。
  • mae-rest.war
  • MAE-其余-0.0.1-SNAPSHOT.war
  • MAE-mobile.war
  • MAE-移动0.0.1-SNAPSHOT.war

如何避免这种重复?

谢谢, 罗纳德

1 个答案:

答案 0 :(得分:0)

我建议您将配置更改为以下内容:

<build>
   <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-ear-plugin</artifactId>
        <version>2.8</version>
        <configuration>
            <version>6</version>
            <modules>
                <webModule>
                    <groupId>de.ast</groupId>
                    <artifactId>mae-mobile</artifactId>
                    <contextRoot>/mobile</contextRoot>
                    <bundleFileName>mae-mobile.war</bundleFileName>
                </webModule>
                <webModule>
                    <groupId>de.ast</groupId>
                    <artifactId>mae-rest</artifactId>
                    <contextRoot>/api</contextRoot>
                    <bundleFileName>mae-rest.war</bundleFileName>
                </webModule>
            </modules>
            <generateApplicationXml>true</generateApplicationXml>
        </configuration>
      </plugin>
      ...
   </plugins>
</build>

这可以解决您的问题。