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

Jpackage报错LinkageError:UnsupportedClassVersionError问题求助

问题解决指南

核心错误:UnsupportedClassVersionError 原因及修复

报错明确显示主类是用JDK14(class文件版本58.0)编译的,但运行时调用了JDK11环境(仅支持到55.0),问题出在jpackage打包时未绑定JDK14的运行时,导致生成的镜像启动时默认调用了系统残留的JRE11。

修复步骤:

  1. 用JDK14的jlink生成自定义运行时镜像(JDK9+不再单独提供独立JRE):
    jlink --add-modules java.base,java.desktop,java.logging,...(列出项目依赖的所有模块) --output jre14-custom
    
    不确定依赖模块的话,可通过jdeps分析你的jar包:
    jdeps --list-deps your-application.jar
    
  2. 打包时显式指定这个自定义运行时:
    jpackage --input ./your-jar-dir --main-jar your-application.jar --main-class Chimera.tech.Main --runtime-image ./jre14-custom --win-console
    
    这样生成的app镜像会内置JDK14运行时,完全不依赖系统环境。

"incubator modules"警告说明

jpackage在JDK14中属于孵化器模块(jdk.incubator.jpackage),是Java官方标记为「仍在试验、未正式标准化」的功能,因此打包时会弹出警告。该警告不影响功能使用,JDK16及以后版本中jpackage已成为标准模块,警告会自动消失。

关于生成的app镜像是否独立

如果打包时通过--runtime-image指定了自定义运行时,生成的app镜像是完全独立的,无需目标系统安装任何JDK/JRE;若未指定,jpackage会尝试调用系统中的JRE,这就是你遇到版本不匹配的直接原因。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 05:54:25