如何配置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
相关产品推荐
相关产品推荐

