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

使用Launch4J将JAR转EXE运行时出现JNI错误与UnsupportedClassVersionError

报错核心原因

从日志可以定位到问题根因是UnsupportedClassVersionError:你用于编译JAR包的JDK版本为Java 16(对应类文件版本60.0),但Launch4J生成的EXE运行时调用的JRE版本最高只支持Java 8(对应类文件版本52.0),低版本Java运行环境无法兼容高版本编译的类文件,才会触发JNI错误。

解决方案
  • 方案1:降低JAR的编译版本匹配运行环境
    如果你需要兼容Java 8环境,直接在编译JAR的IDE或构建工具中设置编译目标版本为1.8即可:
    • Maven项目在pom.xml中添加配置:
    <properties>
      <maven.compiler.source>1.8</maven.compiler.source>
      <maven.compiler.target>1.8</maven.compiler.target>
    </properties>
    
    • Gradle项目在build.gradle中添加配置:
    compileJava {
        sourceCompatibility = '1.8'
        targetCompatibility = '1.8'
    }
    
    配置完成后重新打包生成JAR,再用Launch4J封装即可。
  • 方案2:调整Launch4J的JRE配置要求
    如果你不想修改编译参数,可直接在Launch4J的「JRE」设置页调整配置:
    1. 将「Min JRE version」参数设置为1.16.0,要求运行环境至少为Java 16版本
    2. 如果需要做免安装的EXE,可在「Bundle JRE path」中填入本地Java 16+的JRE文件夹路径,Launch4J会将JRE和程序一起打包,用户不需要额外安装Java环境就能直接运行。
  • 方案3:升级运行设备的Java版本
    仅在你自己本地测试运行报错时可用,直接安装Java 16或更高版本的JRE,配置好系统环境变量后,EXE会自动调用匹配的高版本JRE运行程序。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 16:57:02