Spring spring

Spring中文网站 > Spring Boot > Spring Boot找不到或无法加载主类怎么解决 Spring Boot启动报错找不到Bean
Spring Boot找不到或无法加载主类怎么解决 Spring Boot启动报错找不到Bean
发布时间:2026/04/28 09:23:43

品牌型号:联想拯救者R7000

系统:Windows 10专业版

软件版本:Spring Boot 4.0.2

我们在做Spring Boot项目开发或者部署时,可能会遇到启动报错“找不到或无法加载主类”或者其他找不到Bean的问题。对于新手来说,可能没有任何排查思路,这类报错和项目配置、类加载机制、Bean注册逻辑有关,本文将为大家介绍Spring Boot找不到或无法加载主类怎么解决,Spring Boot启动报错找不到Bean的相关内容。

一、Spring Boot找不到或无法加载主类怎么解决

报错【找不到或无法加载主类】的原因是JVM在启动时,无法在指定的类路径中找到主启动类,下面我就为大家详细介绍一下可能出现这种问题的场景,以及对应的解决办法。

1、主启动类配置不规范

如果主启动类是从别的项目复制过来的,没有修改主启动类的包路径、类名,或者没有【@SpringBootApplication】注解与main方法。例如,将222项目的主启动类复制到111项目后,包路径仍为【com.example._222】,与111项目的包名不匹配,启动就会报错。

包名错误
图1:包名错误

解决方案:找到主启动类java文件,检查包路径与项目实际是否一致(不一致会报错),其次,还需要检查主启动类上有没有添加【@SpringBootApplication】注解,这个注解是Spring Boot自动扫描与启动的核心,缺少该注解会无法启动,例如下图所示。

缺少主程序入口注解
图2:缺少主程序入口注解

2、IDE运行配置异常

在多模块项目中,可能会因为选错了启动模块、Main Class配置错误导致报错。例如,多模块项目中,将启动配置的Module选择为子模块,并非主启动模块。或Main Class路径填写错误,如少写包名、类名拼写错误,都会报错。

启动配置
图3:启动配置

解决方案:使用IntelliJ IDEA的用户,可以直接删除原来的运行配置,点击主启动类前方的启动标志,选择【Run】让IDE自动生成配置。

启动主程序
图4:启动主程序

二、Spring Boot启动报错找不到Bean

Spring Boot启动报错“找不到Bean”的原因是Spring IoC容器没有扫描、注册需要使用的Bean,下面我就为大家介绍一下Spring Boot报错找不到Bean的场景以及对应的解决方案。

1、组件扫描范围未覆盖目标Bean

Spring Boot默认扫描主启动类所在包及其子包下的Bean,若Bean所在包与主启动类包平行,并且没有额外配置扫描范围,就会导致容器无法扫描到Bean。例如,主启动类位于【com.example._1111】包下,而Service类位于【com.example.service】包下,没有配置【@ComponentScan】,就会导致Service Bean无法被注册,启动时报错下图所示的提示。

Bean注入错误
图5:Bean注入错误

解决方案:有两种方式,一是调整包结构,将Bean类移至主启动类所在包或其子包下,二是在主启动类上添加【@ComponentScan】注解,指定Bean扫描路径,如下图所示,确保所有Bean所在包都被包含在内。

手动指定Bean扫描路径
图6:手动指定Bean扫描路径

2、Bean上未添加核心注解

如果没有给类添加Service、Controller、Component等注解,会导致Spring容器无法识别并注册Bean。例如,编写UserService类时,只实现了业务逻辑,未添加@Service注解。或者配置类没有添加【@Configuration】注解,都会导致Bean无法被注册。

缺少Bean注解启动失败
图7:缺少Bean注解启动失败

解决方案:我们只需要根据Bean类型添加对应注解即可,Service类添加@Service、Controller类添加@Controller,还需要额外注意Spring Boot默认Bean扫描范围,必要时需要添加【@ComponentScan】注解指定路径。

添加Bean注解
图8:添加Bean注解

三、总结

以上就是Spring Boot找不到或无法加载主类怎么解决,Spring Boot启动报错找不到Bean的相关内容。刚创建完项目启动时,可能会遇到Spring Boot报错加载不到主类的情况,可以参考上文步骤解决。如果报错加载不到Bean,首先需要检查目录结构,以及是否缺少对应的注解,必要时要手动指定Bean扫描路径,希望对你有所帮助。

180 1563 6924