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

切换项目后Spring Boot项目出现404错误,未修改代码

解决Spring项目切换后404问题的排查步骤

1. 检查IDEA项目模块配置

  • 右键项目 → Open Module Settings,确认模块类型为Spring/Spring Boot,而非普通Java模块。切换项目后IDEA可能自动重置模块类型。
  • 在Project Structure中,确保src/main/java标记为蓝色Sources目录,src/main/resources标记为黄色Resources目录。错误的目录标记会导致Spring无法扫描控制器类。

2. 验证Spring组件扫描范围

  • 若使用Spring Boot,检查启动类的@SpringBootApplication注解:默认扫描启动类所在包及其子包。如果MainController不在该范围内,手动指定扫描包:
    @SpringBootApplication(scanBasePackages = "你的控制器所在包路径")
    
  • 确认MainController上的@Controller注解未被误删,该注解已包含@Component,确保Spring能识别并加载这个控制器。

3. 清理并重建项目

  • 执行Build → Clean Project,再执行Build → Rebuild Project,清除切换项目产生的编译缓存冲突。
  • 手动删除项目根目录下的target文件夹,彻底清理编译产物后重新构建。

4. 检查Tomcat运行配置

  • 打开Run/Debug Configurations,在Deployment标签下:
    • 确认Application context路径正确(比如设置为/,避免访问路径前缀错误)。
    • 确认部署的是当前项目的war或exploded war,而非其他项目的产物。

5. 核对Thymeleaf模板位置

  • 确保home.html位于src/main/resources/templates目录(Spring Boot默认Thymeleaf模板路径)。
  • 检查application.properties中的Thymeleaf配置,比如spring.thymeleaf.prefix,确认配置路径与实际模板位置一致。

6. 分析Spring启动日志

  • 启动项目时,在控制台日志中搜索Mapping关键字,确认是否存在GET /home -> 你的MainController#home(Model)的映射记录。如果没有,说明控制器未被Spring扫描到,回到步骤1、2排查。
  • 同时查看日志中是否有类加载失败、配置文件读取异常等信息,这些问题也会导致控制器无法正常注册。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 08:12:36