使用Spring Initializr创建项目遇Gradle构建失败:不支持类文件主版本64
解决Gradle构建报错:Unsupported class file major version 64
我用IntelliJ IDEA通过Spring Initializr创建新项目时,Gradle构建失败,报错信息如下:
- Exception is:
org.gradle.cache.CacheOpenException: Could not open init generic class cache for initialization script '/tmp/ijmapper.gradle' (/home/julius/.gradle/caches/7.6.1/scripts/dnnmnny7cynyzgkf00s30jlld).
at org.gradle.cache.internal.DefaultPersistentDirectoryStore.open(DefaultPersistentDirectoryStore.java:91)
... 166+ more
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 64
已知major version 64对应Java 20,但我创建项目时选择的是Java 17,且当前Linux机器无法安装Java 20。
解决方法:
降级Gradle版本:Gradle 7.6.1对Java版本兼容性存在问题,它会尝试调用更高版本JDK处理缓存,而Java 17完全适配Gradle 7.5版本。修改项目根目录下的
gradle/wrapper/gradle-wrapper.properties文件,将distributionUrl替换为:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip锁定IDE的JDK配置:确保IntelliJ IDEA全程使用Java 17:
- 打开
File > Project Structure - 在
Project设置中,把Project SDK和Project language level都设为Java 17 - 进入
Modules标签页,确认每个模块的Language level也设置为Java 17 - 打开
File > Settings > Build, Execution, Deployment > Build Tools > Gradle,在Gradle JVM选项里选择已安装的Java 17
- 打开
清理Gradle缓存:删除旧版本的缓存文件,避免残留数据干扰:
rm -rf ~/.gradle/caches/7.6.1/执行完后重新运行构建即可。
内容的提问来源于stack exchange,提问作者Julius Babies
相关产品推荐
相关产品推荐

