maven-ear-plugin中configuration下version标签相关文档及示例查询
maven-ear-plugin中下标签的说明与使用
你提到的<configuration>内的<version>标签,确实用于指定Java EE/Jakarta EE的版本,它会直接影响生成的EAR包的部署描述符(application.xml)版本号,以及EAR的目录结构、兼容性规范。
官方参数说明
该参数支持的取值对应以下EE版本:
1.3→ J2EE 1.31.4→ J2EE 1.45→ Java EE 56→ Java EE 67→ Java EE 78→ Java EE 8 / Jakarta EE 89→ Jakarta EE 910→ Jakarta EE 10
当你设置该值后,插件会自动生成对应版本的application.xml,例如设置version="7"时,生成的部署描述符开头会是:
<?xml version="1.0" encoding="UTF-8"?> <application xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/application_7.xsd" version="7">
完整配置示例
以下是配置Java EE 7版本的完整maven-ear-plugin示例,包含常见的模块配置:
<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-ear-plugin</artifactId> <version>3.3.0</version> <!-- 使用最新稳定版 --> <configuration> <version>7</version> <!-- 指定Java EE 7版本 --> <defaultLibBundleDir>lib</defaultLibBundleDir> <!-- 第三方依赖存放至lib目录 --> <modules> <!-- Web模块配置 --> <webModule> <groupId>com.example</groupId> <artifactId>demo-web</artifactId> <contextRoot>/demo</contextRoot> </webModule> <!-- EJB模块配置 --> <ejbModule> <groupId>com.example</groupId> <artifactId>demo-ejb</artifactId> </ejbModule> </modules> </configuration> </plugin> </plugins>
注意事项
- 若不指定该参数,插件默认使用最低兼容版本(通常为1.3),可能导致与目标应用服务器的兼容性问题。
- 请根据你的应用服务器版本选择对应EE版本,例如:WildFly 10+对应Java EE 7,Payara 5对应Java EE 8,WildFly 26+对应Jakarta EE 9。
内容的提问来源于stack exchange,提问作者y.z
相关产品推荐
相关产品推荐

