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

JavaEE + WildFly 运行项目出现404错误求助

排查WildFly部署后404问题的步骤

既然MySQL数据表已经成功创建,说明项目的后端JPA逻辑已经正常初始化,问题大概率出在部署上下文路径或者前端/端点配置上,我来一步步帮你排查:

1. 确认项目实际部署的上下文路径

WildFly默认会以war包的文件名作为上下文根,而非项目名称。你可以:

  • 翻查WildFly控制台日志,搜索类似Deployed "xxx.war"的条目,比如如果日志显示Deployed "jaxrs-ejb-jpa-1.0-SNAPSHOT.war" (runtime-name: "jaxrs-ejb-jpa-1.0-SNAPSHOT.war"),那实际访问路径应该是http://localhost:8080/jaxrs-ejb-jpa-1.0-SNAPSHOT/,而非你当前使用的jaxrs-ejb-jpa
  • 或者登录WildFly管理控制台(默认地址http://localhost:9990,首次启动需设置用户名密码),进入Deployments菜单,查看已部署项目的名称,对应的就是上下文根路径

2. 检查项目的起始页面/端点配置

如果上下文路径无误,那要确认项目是否正确配置了可访问的起始资源:

  • 打开项目的web.xml文件,查看<welcome-file-list>节点,确认是否包含index.html、index.jsp这类你期望的起始页面
  • 如果这是一个JAX-RS项目,可能你要访问的是REST端点而非静态页面,那要检查项目中是否存在标注@Path("/")的资源类,且该类的@GET方法能正常返回内容

3. 验证项目的打包结构

错误的打包结构会导致资源无法被访问:

  • 解压你的war包,确认静态页面(比如index.html)在war包的根目录,而非WEB-INF文件夹下(WEB-INF内的资源无法直接通过浏览器访问)
  • 确认WEB-INF/classes目录下存在编译后的Java类,尤其是JAX-RS资源类和JPA实体类

4. 深挖WildFly日志细节

从日志里重点找这些信息:

  • JAX-RS应用初始化日志:比如org.jboss.resteasy.resteasy_jaxrs.i18n相关内容,看是否有“JAX-RS application deployed with context root”的提示,确认端点根路径
  • 隐性部署警告:比如类缺失、配置文件错误等,这类问题不会导致启动失败,但会影响资源访问

5. 直接测试具体资源

如果不确定起始页面,你可以直接测试已知的REST端点(比如/api/books这类示例路径),或者直接访问静态资源(比如http://localhost:8080/[上下文路径]/index.html),通过响应情况缩小问题范围

内容的提问来源于stack exchange,提问作者scartout

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:21:12