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

使用Launch4j将Jar转Windows Exe遇版本兼容问题求助

问题原因与解决办法

错误原因

你遇到的UnsupportedClassVersionError是版本不兼容导致的:

  • 类文件版本61.0对应Java 17,说明你的test.jar是用Java 17或更高版本编译的。
  • 报错里的JRE仅支持到52.0(对应Java 8),也就是Launch4j实际调用的是你放在同目录的Java 8 JRE,和Jar的编译版本不匹配。
  • 直接运行Jar没问题,是因为你执行java -jar时用的是系统环境变量里的高版本Java(≥17),和Launch4j调用的JRE不是同一个。

解决办法

方案一:升级同目录的JRE版本

  1. 下载与Jar编译版本匹配的JRE(比如Java 17,因为类文件版本61.0对应Java 17)。
  2. 删除当前同目录下的jre文件夹,将下载的JRE解压后重命名为jre,放在Test.exe同目录。
  3. 修改Launch4j的JRE设置:
    • 最低JRE版本改为17(或更具体的版本号如17.0.0)。
  4. 重新生成Test.exe,运行即可。

方案二:降级Jar的编译版本(如果代码兼容Java 8)

  1. 打开你的Java项目,在IDE中设置编译参数:
    • 源码版本(Source)设为1.8。
    • 目标版本(Target)设为1.8。
    • 确保项目中没有使用Java 8以上的API。
  2. 重新导出可运行Jar文件。
  3. 用Launch4j重新打包,保持原有的Java 8 JRE配置即可正常运行。

额外注意事项

  • 确认Launch4j的JRE路径配置正确:同目录的jre文件夹结构要完整,必须包含bin/java.exe。
  • 定时运行建议用Windows任务计划程序:直接创建任务,设置每天11点执行Test.exe,可配置工作目录、运行权限,比批处理脚本更稳定可靠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 14:47:31