SpringBoot启动报错找不到或无法加载主类的三种解决方案
作者:柚子科技
前言
这篇文章主要写给 正在开发或学习 Spring Boot 的同学,尤其是刚接触 Spring Boot、在课程设计或毕业设计阶段频繁导入项目的人。
我最近在一台 Windows 11 + JDK 8 / JDK 17 的开发环境中,多次遇到 Spring Boot 项目启动时报错:
错误: 找不到或无法加载主类 xxx.Application
这个问题在IDE 中看似简单,但实际排查时非常浪费时间。在完整解决并复盘之后,我把关键排查点整理成一篇文章,希望能帮你少走弯路。
一、问题现象与错误本质
常见报错信息如下:
Error: Could not find or load main class com.example.demo.DemoApplication
Caused by: java.lang.ClassNotFoundException
从 JVM 的角度来看,这个错误只有一个核心含义:
启动时指定的主类,在当前 classpath 中不存在。
但“为什么不存在”,才是我们真正要解决的问题。
二、第一步:确认 Spring Boot 主启动类是否规范
这是最基础、也是最容易被忽略的一步。
主启动类必须满足的条件
请确认你的启动类同时满足以下要求:
- 位于
src/main/java目录下 - 包名与实际目录结构一致
- 包含
@SpringBootApplication注解 - 包含标准的
main方法
示例代码如下:
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @author LLL
* @since 2026
*/
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
真实踩坑点:
我曾在重构包名后,只改了文件夹路径,却忘了同步修改 package 声明,IDE 不报红,但启动直接失败。
三、第二步:检查 IDE 的运行配置(高频问题)
在我的经验中,至少一半的“找不到主类”问题,都出在运行配置上,而不是代码本身。
2.1 IntelliJ IDEA 中的排查方式
依次检查:
- 点击右上角运行配置
- 打开 Run / Debug Configurations
- 查看当前 Spring Boot 配置项
重点关注两个地方:
- Main class:是否是当前项目真实存在的
Application类 - Module:是否选择了正确的模块(多模块项目尤其容易出错)
推荐做法
直接删除原有运行配置,然后:
- 右键点击
Application类 - 选择
Run
让 IDEA 自动生成配置,成功率最高。
2.2 Eclipse 中的排查方式
在 Eclipse 中,这个问题更常见,建议直接使用“重建思路”:
- 打开
Run Configurations - 删除旧的
Java Application或Spring Boot App - 重新右键主启动类 →
Run As
四、第三步:清理构建缓存并重新编译
当代码和运行配置都没问题,但错误依旧存在时,十有八九是构建缓存出了问题。
3.1 Eclipse:使用 Clean 功能
Project → Clean → Clean all projects
这个操作会清理旧的 .class 文件和构建缓存,对 Eclipse 用户非常关键。
3.2 IntelliJ IDEA + Maven 项目
我个人更推荐直接从 Maven 下手:
mvn clean package
重点观察:
target/classes目录下- 是否真的生成了
DemoApplication.class
如果 .class 文件都没生成,JVM 自然找不到主类。
五、容易被忽略但很致命的细节
下面这些问题我都真实踩过坑:
- 项目 JDK 与 IDE JDK 不一致
- 多模块项目,启动模块选错
pom.xml编译失败但未注意控制台日志- 使用了不兼容的 JDK 版本(例如低版本 Spring Boot + 高版本 JDK)
建议:遇到问题时,先看一遍完整控制台日志,而不是只盯着最后一行报错。
回到问题本身
在文章开头我们提到,这个错误的本质是:
JVM 在 classpath 中找不到你指定的主类。
只要你围绕以下三个点去排查:
- 主启动类是否真实存在
- IDE 是否指向了正确的类
- 编译结果是否真的生成
这个问题几乎都能解决。
以上就是SpringBoot启动报错找不到或无法加载主类的三种解决方案的详细内容,更多关于SpringBoot启动报错解决的资料请关注脚本之家其它相关文章!
您可能感兴趣的文章:
- SpringBoot项目启动报错"找不到或无法加载主类"的解决方法
- SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法
- 解决springboot运行出现错误:找不到或无法加载主类com.xxxx.xxxx.Application问题
- SpringBoot项目启动错误:找不到或无法加载主类的三种解决方法
- springboot项目启动类错误(找不到或无法加载主类 com.**Application)
- idea启动springboot报错: 找不到或无法加载主类问题
- 解决SpringBoot运行报错:找不到或无法加载主类的问题
- 解决springboot错误:找不到或无法加载主类(配置编码或者Maven)
