如何在NetBeans 19中部署运行WildFly 29上的EAR项目?
解决WildFly 29与NetBeans EAR项目部署不兼容问题
1. 统一所有模块的Jakarta EE版本
WildFly 29默认支持Jakarta EE 10,需确保EAR、EJB、Web模块版本对齐:
- Web模块:保留Jakarta EE 10 Web配置,检查
pom.xml依赖是否使用Jakarta命名空间(如jakarta.servlet:jakarta.servlet-api,而非旧的javax.servlet:javax.servlet-api)。 - EJB模块:修改
pom.xml,替换Java EE 6依赖为Jakarta EE 10 EJB相关依赖:
删除旧的Java EE 6依赖(如<dependency> <groupId>jakarta.platform</groupId> <artifactId>jakarta.jakartaee-api</artifactId> <version>10.0.0</version> <scope>provided</scope> </dependency>javax.ejb:ejb-api)。 - EAR模块:修改
pom.xml,替换Java EE 8依赖为Jakarta EE 10 EAR API:<dependency> <groupId>jakarta.platform</groupId> <artifactId>jakarta.jakartaee-api</artifactId> <version>10.0.0</version> <type>pom</type> <scope>provided</scope> </dependency>
2. 修正NetBeans项目配置文件
除服务器设置外,调整各模块nb-configuration.xml的EE版本配置:
- EJB模块添加/修改:
<org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion>jakartaee-10</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion> - EAR模块添加/修改:
<org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion>jakartaee-10</org-netbeans-modules-maven-j2ee.netbeans_2e_hint_2e_j2eeVersion>
3. 确保NetBeans兼容WildFly 29
- 升级NetBeans到18或更高版本,旧版本对WildFly 29的Jakarta EE 10支持不完善。
- 重新添加WildFly服务器:打开
Services面板,右键Servers→Add Server,选择WildFly,指定WildFly 29安装目录完成配置。
4. 清理重建项目
- 执行Maven命令清理缓存:
mvn clean install -U - 在NetBeans中右键项目→
Clean and Build,确认编译无错误后重新部署。
内容的提问来源于stack exchange,提问作者Jorge Campins
相关产品推荐
相关产品推荐

