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

Gradle项目运行报java.lang.UnsupportedClassVersionError如何解决

问题原因

报错信息已经明确指出根因:你的代码是用Java 16编译的(对应类文件版本号60.0),但控制台运行程序时调用的是Java 8(仅支持最高52.0版本的类文件),低版本JRE无法兼容高版本JDK编译出的类文件。
IntelliJ IDEA运行正常是因为IDE内部单独配置了项目对应的JDK 16作为运行环境,不依赖系统全局的环境变量配置,因此不会出现版本不匹配问题。


解决方案

提供两种可选方案,按需选择即可:

方案1:统一控制台运行环境为Java 16

如果你不需要兼容低版本Java运行,直接修改系统全局Java版本即可:

  • 首先执行命令验证当前控制台Java版本:
    java -version
    javac -version
    
    若输出版本为1.8.x即可确认是环境变量配置问题。
  • 将系统环境变量JAVA_HOME的值修改为你本地JDK 16的安装路径
  • 编辑系统Path变量,将%JAVA_HOME%\bin(Windows系统)或$JAVA_HOME/bin(Linux/macOS系统)移动到最靠前的位置,避免优先匹配到其他版本的Java
  • 重启控制台后重新执行版本验证命令,确认输出为Java 16后,再运行程序即可正常启动

方案2:兼容Java 8运行,修改Gradle配置

如果你需要打包后的程序可以在Java 8环境下运行,修改build.gradle配置即可:

  • 找到配置中以下两行:
    sourceCompatibility = JavaVersion.VERSION_16
    targetCompatibility = JavaVersion.VERSION_16
    
    替换为:
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8
    
  • 执行命令清理旧的编译缓存并重新构建:
    # Linux/macOS
    ./gradlew clean build
    # Windows
    gradlew.bat clean build
    
  • 重新构建后的产物即可在Java 8及以上版本的环境中运行

注意:修改配置后如果仍报错,优先确认是否没有执行clean操作,残留了旧版本编译的类文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 18:24:08