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

Spring MVC项目Eclipse部署Tomcat正常,手动部署报404求排查指导

排查Spring MVC手动部署Tomcat出现404的常见原因

这种情况我之前也碰到过,Eclipse里跑正常但手动部署就404,大多是部署细节或者配置的小问题,给你列几个最关键的排查方向:

1. War包构建不完整

Eclipse部署时会自动处理依赖和资源文件,但手动打包的War包很容易缺东西:

  • 解压War包检查结构:确保WEB-INF/classes目录下有编译好的Controller、配置类等class文件,WEB-INF/lib目录包含所有必要的依赖Jar(Spring MVC、Servlet API等)
  • 对比Eclipse自动部署的项目目录(一般在Tomcat的webapps或Eclipse workspace的.metadata路径下),看手动打包的War包少了哪些文件
  • 检查Maven/Gradle打包配置:比如Maven的war插件是否正确包含了src/main/resources下的配置文件,有没有误排除依赖

2. 上下文根(Context Root)不匹配

Eclipse里部署时你可能自定义了上下文根(比如/myapp),但手动部署的默认规则不一样:

  • Tomcat默认会用War包的名称作为上下文根,比如War包叫spring-mvc-demo.war,访问路径就得是http://localhost:8080/spring-mvc-demo/xxx,如果还是用Eclipse里的旧路径就会404
  • 可以手动指定上下文根:在Tomcat的conf/server.xml中添加<Context docBase="你的War包路径" path="/myapp"/>,或者在conf/Catalina/localhost下创建myapp.xml文件配置上下文

3. Servlet映射与Spring配置错误

检查核心配置是否正确生效:

  • 查看WEB-INF/web.xml里的DispatcherServlet配置:确保映射的URL模式(比如/或*.do)正确,contextConfigLocation指向了正确的Spring配置文件(比如classpath:spring-servlet.xml)
  • 若用注解驱动:确认配置类加了@EnableWebMvc,@ComponentScan指定了正确的Controller所在包路径
  • 验证配置文件位置:Spring的XML或配置类是否在WEB-INF/classes目录下(也就是classpath中),手动打包时容易漏掉src/main/resources下的资源

4. Tomcat版本与依赖不兼容

Eclipse和手动部署的Tomcat版本如果不一致,很容易出兼容性问题:

  • Tomcat 9对应Spring MVC 5.x(依赖javax.servlet API),Tomcat 10对应Spring MVC 6.x(依赖jakarta.servlet API),版本不匹配会导致DispatcherServlet无法初始化
  • 检查Spring MVC的pom.xml/gradle配置,确保依赖的Servlet API版本和Tomcat版本对应

5. 日志定位具体错误

直接看Tomcat的日志文件,能快速找到问题根源:

  • 查看logs/localhost.log、logs/catalina.out:如果有ClassNotFoundException说明缺Jar包,BeanCreationException说明Spring配置有问题,XMLParseException说明配置文件语法错误
  • 查看logs/localhost_access_log.*.txt:确认请求的URL是否和部署后的上下文根匹配

6. 文件权限问题(Linux系统常见)

如果是在Linux上部署,Tomcat运行用户可能没有权限访问War包或解压后的文件:

  • 检查webapps目录下的项目文件夹权限,确保Tomcat用户(比如tomcat)有读权限
  • 可以用chown -R tomcat:tomcat /path/to/tomcat/webapps/你的项目来修改权限

7. 清理Tomcat缓存

Tomcat的缓存可能导致旧配置残留:

  • 停掉Tomcat,删除webapps下的项目文件夹和work/Catalina/localhost下的对应缓存目录
  • 重新启动Tomcat,再部署War包

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:25:03