问题:Spring Boot 项目启动失败

Spring Boot 项目启动失败:从「程序包不存在」到成功启动(完整排查过程)

项目:墨卷阅读平台(mojuan-reading-platform)

技术栈:Spring Boot 3.5 + MyBatis + Maven + MySQL

开发工具:IntelliJ IDEA 2026 Ultimate

本文记录了项目启动过程中遇到的一个典型问题,以及完整的排查思路和解决过程。


一、问题描述

项目创建完成后,我编写了第一个后端接口:

  • BookController
  • BookService
  • BookMapper
  • Book
  • ReadingPlatformServerApplication

但是运行项目时,IDEA 提示大量错误,例如:

程序包 lombok 不存在 程序包 org.springframework.web.bind.annotation 不存在 程序包 org.apache.ibatis.annotations 不存在 程序包 org.springframework.boot 不存在


二、原因

查看 IDEA 构建日志,发现了一个非常关键的信息:

编译模块: mojuan-reading-platform

而不是:

reading-platform-server

问题就出在这里。


项目目录如下:

mojuan-reading-platform │ ├── docs ├── database ├── reading-platform-server ├── reading-platform-web(后续创建) └── README.md

整个仓库实际上是一个 Git Repository。

真正的 Spring Boot 工程只有:

reading-platform-server

但是 IDEA 在创建项目时,将:

mojuan-reading-platform

也当成了一个普通 Java Module。

于是运行时流程变成:

IDEA ↓ 编译 ↓ mojuan-reading-platform ↓ 找不到 Spring Boot 依赖 ↓ 程序包不存在

因此所有 Spring、MyBatis、Lombok 包全部报错。


三、正确解决方法



如果“模块”下拉框里仍然没有 reading-platform-server,说明 IDEA 模块配置还没正确导入。这时回到右侧 Maven 面板,点击一次“重新加载所有 Maven 项目”,再重新打开运行配置。

四、感悟

本次问题并不是:

  • Spring Boot 配置错误
  • Maven 下载失败
  • MyBatis 配置错误
  • Lombok 配置错误

真正原因是:

IDEA 运行时编译了错误的 Module。

导致编译器没有使用 Spring Boot 工程中的依赖,因此所有 Spring 包全部提示:

程序包不存在

五、总结

这次排查最大的收获,并不是修复了一个 Bug。

而是彻底理解了:

  • Git 仓库
  • Maven 工程
  • IDEA Module
  • Spring Boot 启动类

它们之间的关系。

整个启动流程如下:

Git Repository(mojuan-reading-platform) │ ├── docs ├── database ├── reading-platform-server │ └── pom.xml │ ▼ Maven 下载依赖 │ ▼ IDEA 编译 reading-platform-server │ ▼ ReadingPlatformServerApplication │ ▼ Spring Boot 启动 │ ▼ Tomcat(8080) │ ▼ REST API

经验总结

按照下面的顺序排查:

  1. 检查pom.xml是否引入正确依赖。
  2. 确认 Maven 已成功下载依赖。
  3. 执行mvn compile验证 Maven 是否能够正常编译。
  4. 检查 IDEA 是否识别了正确的 Maven Module。
  5. 检查 Run Configuration 是否使用了正确的模块、工作目录和启动类。

按照这个思路,大部分 Spring Boot 项目启动阶段的问题都能够快速定位。


结语

本次踩坑让我真正理解了 Git 仓库、Maven 工程和 IDEA Module 三者的区别。很多看似是 Spring Boot 或 Maven 的问题,其实最终都可以归结到 IDEA 的项目结构和运行配置。理解原理,比记住操作步骤更重要,这也是搭建企业级项目时必须掌握的基础能力。