Spring Tools 4配置JDK11与Tomcat9启动报错求助
问题解决指南
核心问题点透
Spring Boot 3.0.x 最低要求Java 17,你用Java 11启动必然会报UnsupportedClassVersionError——类文件版本61.0对应Java17编译的字节码,而Java11仅能识别到55.0版本的字节码,这和你用的STS版本无关,纯属于版本不匹配导致的问题。
分步解决步骤
1. 更换兼容Java 11的Spring Boot版本
直接选择Spring Boot 2.7.x系列(这是官方支持Java11的最新稳定分支,官方支持周期到2025年2月),创建项目时不要选3.0.5这类3.x版本。
2. 修正Maven配置(pom.xml)
确保以下配置准确:
- 父依赖指定为2.7.x版本:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.10</version> <!-- 任意2.7.x稳定版本均可 --> <relativePath/> </parent>
- 明确Java版本并指定管理员要求的Tomcat 9.0.31:
<properties> <java.version>11</java.version> <tomcat.version>9.0.31</tomcat.version> </properties>
- 如果是War包部署,需将Tomcat starter设置为
provided(避免和外部Tomcat冲突):
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
3. 修正Eclipse项目配置
- 右键项目→属性→Java Build Path:将JRE系统库替换为指定的JDK 11.0.17,移除其他无关JRE
- 右键项目→属性→Java Compiler:勾选「Use compliance from execution environment on the 'Java Build Path'」,确认合规级别为11
- 右键项目→属性→Project Facets:设置Java版本为11,Dynamic Web Module版本选择3.1(适配Tomcat9)
- 配置服务器:添加Tomcat 9.0.31服务器,将项目部署到该服务器上
4. 最终验证
- 执行
mvn clean install命令清理并构建项目 - 启动前检查Run Configuration中的JRE设置为JDK 11.0.17
- 启动后查看控制台输出,确认使用的Java版本为11.0.17、Tomcat版本为9.0.31即可
关于Spring Tool Suite版本
不需要更换旧版STS,你当前使用的STS 4.18.0完全支持Spring Boot 2.7.x和Java11,无需重新下载。
内容的提问来源于stack exchange,提问作者Torvald Klaven
相关产品推荐
相关产品推荐

