0

我想使用 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-rest-0.0.1-SNAPSHOT.war
  • mae-mobile.war
  • mae-mobile-0.0.1-SNAPSHOT.war

我怎样才能避免这种重复?

谢谢,罗纳德

4

1 回答 1

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>

这应该可以解决您的问题。

于 2013-10-02T11:23:41.237 回答