You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Maven Ear插件以取消默认EAR构件的生成?

Maven禁用默认EAR构件生成的配置技巧

因为你设置了<packaging>ear</packaging>,Maven会自动触发maven-ear-plugin的默认绑定执行,生成那个不需要的project-ear-1.0.0.ear。解决方法是显式禁用这个默认执行,只保留你自定义的两个EAR生成任务,具体配置如下:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-ear-plugin</artifactId>
      <version>2.10</version>
      <executions>
        <!-- 禁用默认的EAR生成执行 -->
        <execution>
          <id>default-ear</id>
          <phase>package</phase>
          <goals>
            <goal>ear</goal>
          </goals>
          <configuration>
            <skip>true</skip>
          </configuration>
        </execution>
        <!-- 你的自定义执行:fija -->
        <execution>
          <id>fija</id>
          <goals>
            <goal>generate-application-xml</goal>
            <goal>ear</goal>
          </goals>
          <configuration>
            <finalName>fe-fija</finalName>
            <!-- 保留你原本的模块、applicationXml等配置 -->
          </configuration>
        </execution>
        <!-- 你的自定义执行:movil -->
        <execution>
          <id>movil</id>
          <goals>
            <goal>generate-application-xml</goal>
            <goal>ear</goal>
          </goals>
          <configuration>
            <finalName>fe-movil</finalName>
            <!-- 保留你原本的模块、applicationXml等配置 -->
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

关键说明

  • Maven中<packaging>ear</packaging>绑定的默认执行ID是default-ear,显式定义这个执行并设置<skip>true</skip>就能阻止默认构件生成。
  • 自定义的两个执行(fija和movil)会正常运行,生成你需要的fe-fija.ear和fe-movil.ear。
  • 注意把自定义执行里的<finalName>直接设为目标文件名,避免和默认构件名产生冲突。

内容的提问来源于stack exchange,提问作者y.z

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 11:57:08