Spring Boot 项目启动报错 “找不到或无法加载主类” 解决笔记
一、问题描述
在使用 IntelliJ IDEA 开发基于 Spring Boot 框架的 Java 程序时,原本项目能够正常启动。但在后续编写代码并重建项目后,再次尝试运行却出现了 “错误:找不到或无法加载主类 com.example.springboot.SpringbootApplication” 的错误提示。
二、排查过程
- Maven 配置检查:查看项目 settings 中的 Maven 版本及配置路径,确认是否指向了正确的本地 Maven 安装目录。若配置有误,可能导致 Maven 无法正确解析项目依赖及构建文件,进而找不到主类。经检查,我的配置正确,此方法未能解决问题。
- 端口号检查:考虑到端口号被占用可能引发启动异常,尝试修改项目的运行端口号。然而,修改后问题依旧存在,说明端口占用并非此次错误的根源。
- 断点清理:使用快捷键(Ctrl+Shift+F8)打开 Breakpoints 窗口,或通过工具栏 run -> view Breakpoints… ,将所有断点选项取消勾选后点击 Done。目的是排除因断点设置不当干扰程序正常启动的可能性,但该操作未解决找不到主类的问题。
三、解决方案
通过使用 Maven 命令行的方式最后成功解决了该问题,具体执行的命令如下:
- 清理并编译项目:在项目根目录下打开命令行窗口,执行
mvn clean compile
命令。此命令先清理之前构建生成的文件,再重新编译项目源代码,确保生成最新的字节码文件。若编译过程中存在错误,会在命令行输出详细信息,方便定位和修复。 - 安装项目到本地仓库:执行
mvn install
命令,将项目构建产物安装到本地 Maven 仓库。这一步确保项目依赖的完整性以及项目自身构件在本地仓库的正确存储,为后续运行提供保障。 - 运行 Spring Boot 应用:最后执行
mvn spring-boot:run
命令,该命令直接启动 Spring Boot 应用程序。此次成功启动项目,解决了 “找不到或无法加载主类” 的问题。
mvn clean compile
mvn install
mvn spring-boot:run
注意哈,如果使用cmd命令行,需要在含pom.xml的文件目录下操作,如果提示'mvn' 不是内部或外部命令,也不是可运行的程序 或批处理文件。需要配置环境变量:将Maven的bin
目录添加到系统的PATH
环境变量中。