Eclipse配置WildFly-18服务器时archiconEar.ear部署报错
排查方向与解决方案
1. 修正jboss-deployment-structure.xml的子部署名称
报错核心:配置中指定的
archiconWeb.war子部署不存在,实际可用为archiconWeb
直接修改jboss-deployment-structure.xml里所有引用archiconWeb.war的节点,替换为archiconWeb。示例修改:
原配置:
<sub-deployment name="archiconWeb.war"> <!-- 依赖配置内容 --> </sub-deployment>
修改后:
<sub-deployment name="archiconWeb"> <!-- 依赖配置内容 --> </sub-deployment>
2. 确认EAR包内WAR文件的实际命名
解压archiconEar.ear包,检查里面WAR文件的真实名称:
- 如果WAR文件确实是
archiconWeb(不带.war后缀),那子部署名称必须和这个一致; - 如果WAR文件是
archiconWeb.war但WildFly识别为archiconWeb,说明WildFly自动去掉了后缀名,此时配置仍需和识别的名称保持一致。
3. 检查POM.xml的EAR打包配置
打开EAR模块的pom.xml,确认WAR模块的<module>配置没有名称或后缀错误:
<modules> <module> <groupId>你的项目组ID</groupId> <artifactId>archiconWeb</artifactId> <type>war</type> <!-- 若有<fileName>配置,确认其值和实际生成的WAR文件名一致 --> <fileName>archiconWeb.war</fileName> </module> </modules>
如果<fileName>设为archiconWeb(无后缀),会导致EAR内的WAR文件没有.war后缀,WildFly识别的子部署名就是archiconWeb,此时必须保证jboss-deployment-structure.xml的配置匹配这个名称。
4. 彻底清理后重新构建部署
执行以下步骤避免缓存干扰:
- 运行
mvn clean install -U,强制更新依赖并重新构建所有模块; - 删除WildFly目录下
standalone/deployments/里的所有文件和文件夹; - 删除WildFly目录下
standalone/data/content/的缓存内容; - 重新打包EAR并部署到WildFly。
5. 验证WildFly部署日志
启动WildFly时,查看启动日志里关于子部署的加载记录,确认实际加载的子部署名称,确保jboss-deployment-structure.xml的配置和日志显示的名称完全一致。
内容的提问来源于stack exchange,提问作者Robs
相关产品推荐
相关产品推荐

