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

Runnable Jar运行抛出UnsupportedClassVersionError问题求助

问题成因
  • Java的class文件有对应版本号,不同JDK/JRE版本绑定固定的class版本:JDK 1.8对应版本52.0,JDK 17对应版本61.0。
  • 你开发时用JRE 17编译代码,生成的class文件是61.0版本,但运行Jar时系统默认调用的是JDK 1.8的JRE,它仅支持最高52.0版本的class文件,版本不匹配直接触发报错。
  • Eclipse内运行正常是因为你指定了用JRE 17执行,编译版本和运行版本一致;但导出Jar后,系统会使用默认的Java环境(此处为1.8),因此出现兼容性问题。
解决方法

方法一:用JDK 17运行Jar文件

  • 找到JDK 17安装目录下的java.exe,通过命令行执行:
    "C:\Program Files\Java\jdk-17.x.x\bin\java" -jar 你的Jar文件名.jar
    
  • 或者将JDK 17设为系统默认Java环境:修改系统环境变量的JAVA_HOME为JDK 17的安装路径,同时调整Path变量,把JDK 17的bin目录移到最前方。

方法二:重新编译代码为JDK 1.8兼容版本

  • 打开Eclipse,右键你的项目 → 属性 → Java编译器
  • 勾选「启用项目特定设置」,将「编译器合规性级别」改为1.8
  • 切换到「Java Build Path」选项卡,移除当前的JRE系统库,添加JDK 1.8的JRE
  • 重新导出Runnable Jar文件,此时生成的class文件版本为52.0,可直接用JDK 1.8运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 22:39:57