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

JDK19+JavaFX19环境下JPackage生成MSI安装包失败求助

JDK 19 + JavaFX 19 JPackage打包问题:MSI安装程序缺失

问题描述

  • 使用JDK 19搭配JavaFX 19进行JPackage打包时,安装镜像已生成,但最终的MSI安装程序缺失
  • 此前使用JDK 18 + JavaFX 16的相同配置可正常完成打包

相关环境变量

Required environment variables: 
 PATH_TO_FX      = C:\Java\javafx-19\sdk\lib
 PATH_TO_FX_MODS = C:\Java\javafx-19\jmods
 JPackage Version 19

错误日志信息

[2022/11/12 10:46:54.801, jpackage.dll (PID: 5696, TID: 11192), jpackage.cpp:155 (Java_jdk_jpackage_internal_WinExeBundler_embedMSI)]
        ERROR: Unknown exception caught
[10:45:03.636] Running candle.exe
[10:45:03.647] Running C:\Program Files (x86)\WiX Toolset v3.11\bin\candle.exe
[10:45:03.784] Running light.exe
[10:45:03.788] Running C:\Program Files (x86)\WiX Toolset v3.11\bin\light.exe
[10:45:03.989] Detected [candle.exe] version [3.11.2.4516].
[10:45:03.989] Detected [light.exe] version [3.11.2.4516].
[10:45:03.990] WiX 3.11.2.4516 detected. Enabling advanced cleanup action.     

解决建议

  • 升级WiX工具集版本:JDK 19的jpackage可能与WiX 3.11存在兼容性问题,尝试升级到WiX 3.14或4.x稳定版后重新打包
  • 确认JavaFX模块引用:打包命令中需通过--module-path指定PATH_TO_FX_MODS,并明确添加所需JavaFX模块(如--add-modules javafx.controls,javafx.fxml),避免模块缺失导致打包中断
  • 清理临时文件:删除%TEMP%目录下jpackage生成的缓存文件,排除旧文件干扰
  • 启用详细日志:在jpackage命令中加入--verbose参数,获取更完整的错误输出,定位MSI生成失败的具体环节
  • 提升权限执行:以管理员身份运行打包命令,避免因文件写入权限不足导致MSI文件无法生成

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 07:55:40