Spring Boot项目在Spring STS中出现找不到或无法加载主类问题求助
我之前也碰到过这个头疼的问题,结合你已经做过的排查(清理项目、更换工作区、Maven构建等),给你几个针对性的解决方案试试:
检查Main类的注解与包结构
确保你的Application类上标注了@SpringBootApplication注解,而且这个类要放在根包路径下(比如com.example.demo,其他业务类放在它的子包中)——Spring Boot会自动扫描根包及子包的组件,类的位置不对很可能导致加载异常。另外要确认类名没有拼写错误(Java是大小写敏感的,别把DemoApplication写成demoApplication了)。核对STS的JRE配置细节
右键项目 →Properties→Java Build Path→Libraries,确认JRE System Library是你本地安装的JDK 8(注意是JDK不是单纯的JRE),如果不是,点击Edit选择已配置好的JDK 8。
再检查运行配置:右键Application.java →Run As→Run Configurations,在Java Application的对应配置里,确认Main class是正确的全路径(比如com.example.demo.DemoApplication),并且JRE选项卡也选择JDK 8。确认Maven插件配置
打开项目的pom.xml,确保已经引入Spring Boot Maven插件,它负责处理打包和运行时的类路径:<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>之后右键项目 →
Run As→Maven build,在Goals里输入clean install,执行完整的构建,确保日志里没有报错,再尝试运行Application类。清理STS缓存与重建项目配置
有时候STS的缓存会导致类加载异常,可以试试:- 点击顶部菜单
Project→Clean,选择你的项目清理后重新构建; - 点击
Window→Preferences→General→Workspace,点击Clear按钮清理工作区缓存; - 还可以备份项目下的
.classpath和.project文件后删除它们,然后右键项目 →Configure→Convert to Maven Project,重新生成配置文件。
- 点击顶部菜单
检查target目录的编译结果
确认项目构建后,target/classes目录下存在你Application类的.class文件(路径要和包结构对应)。如果没有,说明构建过程有隐藏错误,仔细查看STS的Console面板里的Maven构建日志,说不定能找到之前忽略的报错信息。
如果以上方法都不行,你可以试试删除本地Maven仓库中该项目的依赖包(路径一般是~/.m2/repository下对应你的groupId的目录),然后重新执行clean install拉取依赖,或者创建一个全新的Spring Boot项目对比配置差异。
内容的提问来源于stack exchange,提问作者Debojyoti Chakraborty

