You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Java 17与Spring Boot 2.2.4时遇Unsupported class file major version 61错误

为什么会出现Unsupported class file major version 61错误

错误本身说明

Unsupported class file major version 61 意思是当前程序运行环境没法识别Java 17编译出来的类文件——Java版本对应的class文件主版本号里,61就是Java 17的标识。

核心原因:Spring Boot 2.2.4不支持Java 17

Spring Boot 2.2.x系列官方只支持Java 8和Java 11,完全不兼容Java 17。你用Java 17编译代码后,Spring Boot 2.2.4底层依赖的旧版类库(比如Spring Framework 5.2.x)根本处理不了Java 17的类文件格式,直接就抛出这个错误了。

验证依据

  • Spring Boot 2.2.4.RELEASE的官方文档明确写了支持的Java版本范围是8到11,没包含17。
  • 你项目里的spring-boot-starter依赖的Spring Framework是5.2.3.RELEASE,这个版本同样只认Java 8和11的类文件。

解决办法(必须用Spring Boot 2.2.4的前提下)

只能降级Java版本:

  • 换成Java 8或者Java 11,这两个是Spring Boot 2.2.4官方支持的版本,能完美适配。
  • 要是非要用Java 17,那就得升级Spring Boot到支持Java 17的版本(比如2.6及以上或者3.x),但这不符合你必须用2.2.4的要求,所以这条路走不通。

额外要做的调整

  • 改完Java版本后,记得把build.gradle里的sourceCompatibility和targetCompatibility改成对应版本(比如'11'或者'8')。
  • 确认本地的JAVA_HOME、系统PATH都指向降级后的Java版本,防止Gradle用错JDK编译。

内容的提问来源于stack exchange,提问作者hhrzc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 08:25:23