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

如何使用Jpackage打包生成JavaFX应用的分发格式

流程正确性确认

你梳理的4步流程是标准的JavaFX模块化项目打包流程,完全正确。如果追求更简化的操作,也可以直接让jpackage自动调用jlink生成自定义运行时,不需要单独执行jlink步骤,不过拆分步骤更方便调试中间产物,更推荐新手按你列的顺序操作。

IntelliJ Artifacts使用问题

可以直接用IntelliJ的Artifacts功能生成步骤2需要的jar包,只要确保打包产物里包含你的模块描述符module-info.class,且依赖的模块化构件配置正确即可。如果项目本身用Maven/Gradle管理,也可以用对应构建工具的jar任务生成,两种方式效果没有本质区别,按你的使用习惯选择即可。

依赖打包规则说明

你当前的认知有误,jlink生成的自定义运行时仅会包含JDK标准模块、以及你显式指定加入模块路径的JavaFX等模块化三方库,不会自动包含你项目引入的所有依赖。
具体处理规则分两种场景:

  • 如果你所有依赖都是模块化依赖(自带module-info.class),可以将所有依赖的模块路径一同传入jlink,直接把所有依赖打进自定义运行时,不需要再把依赖打进项目jar
  • 如果你有非模块化的第三方依赖,无法被jlink识别处理,这时候要么把所有依赖和项目代码一同打包成fat jar,要么单独把依赖存放在lib目录,调用jpackage时通过--input参数引入lib目录,同时配置启动类路径即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 18:15:00