Eclipse/STS4运行应用报错:ClassNotFoundException: com.teamium.TeamiumApplication
问题原因分析与解决方案
核心原因:JDK版本与Spring Boot版本不兼容
Spring Boot 1.5.1.RELEASE官方仅支持Java 6、7、8,完全不兼容Java 20这类高版本JDK。高版本JDK的字节码格式、内置API存在大量变化,低版本Spring Boot无法识别和加载编译后的类文件,直接导致ClassNotFoundException。
其他可能的辅助原因
- Maven编译时默认使用本地JDK 20,生成的字节码不符合Spring Boot 1.5.x的兼容要求,类文件无法被正确加载。
- 项目编译目录(如
target/classes)未正确生成或未被IDE识别,导致运行时找不到主类。
解决方案
降级JDK到兼容版本
直接安装JDK 8,并在Eclipse/STS4中配置该JDK为项目的默认JRE,这是最彻底的解决方式。强制Maven用JDK 8编译
即使本地保留JDK 20,也可以在项目pom.xml中添加编译插件配置,指定编译用的JDK版本:<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build>清理并重新编译项目
执行Maven命令:mvn clean install之后在IDE中右键项目选择
Maven > Update Project,再尝试重新运行应用。检查IDE运行配置
确认Run Configuration中的主类路径为com.teamium.TeamiumApplication,并且类路径包含target/classes目录(编译后的类文件存放位置)。
内容的提问来源于stack exchange,提问作者Saurabh singh
相关产品推荐
相关产品推荐

