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

如何在Linux下为无模块JavaFX应用生成内置JRE的Windows .exe文件

生成包含JRE的Windows可执行EXE方案(Linux环境下交叉编译)

针对你的无模块JavaFX项目,推荐使用OpenJDK自带的jpackage工具打包,它能直接将应用、依赖和JRE整合为Windows原生EXE,无需客户端预先安装Java。以下是具体步骤:

前置准备

  1. 安装交叉编译依赖(以Ubuntu/Debian为例):
    编译Windows程序需要mingw工具链,执行以下命令安装:
    sudo apt update && sudo apt install binutils mingw-w64
    
  2. 下载对应平台文件:
    • 下载Windows x64版本的OpenJDK 17(与项目编译版本一致),解压到本地路径(如./windows-jdk-17)
    • 下载Windows x64版本的JavaFX 19.0.2,解压后保留jmods目录或lib目录(后续步骤二选一)

步骤1:生成自定义轻量化JRE(可选,减小打包体积)

用jlink从Windows JDK中提取仅需的核心模块(包含JavaFX组件),生成专属JRE:

jlink --module-path ./windows-jdk-17/jmods:./javafx-19.0.2-windows/jmods \
      --add-modules javafx.controls,javafx.fxml,java.base,java.desktop \
      --output ./custom-windows-jre \
      --target-platform windows-x64 \
      --strip-debug --compress=2
  • --strip-debug和--compress=2用于压缩JRE体积,可根据需求调整

步骤2:用jpackage打包生成EXE

基于你已构建的myapp-with-dependencies.jar,执行以下命令生成Windows安装版EXE:

jpackage --type exe \
         --input ./target \
         --main-jar myapp-with-dependencies.jar \
         --main-class my.Main \
         --runtime-image ./custom-windows-jre \
         --name MyDesktopApp \
         --target-platform windows-x64 \
         --dest ./target/windows-build
  • 若跳过步骤1,可省略--runtime-image参数,改为指定JavaFX模块路径,让jpackage自动处理JRE:
    jpackage --type exe \
             --input ./target \
             --main-jar myapp-with-dependencies.jar \
             --main-class my.Main \
             --module-path ./javafx-19.0.2-windows/lib \
             --add-modules javafx.controls,javafx.fxml \
             --name MyDesktopApp \
             --target-platform windows-x64 \
             --dest ./target/windows-build
    

补充说明

  • 生成的EXE是Windows安装程序,用户运行后会自动将应用和JRE安装到系统中;若需绿色免安装版,可将--type exe改为--type app-image,生成包含EXE和所有依赖的文件夹,压缩后即可分发
  • 项目中的FXML、CSS、Hibernate配置文件已被maven-assembly-plugin打包进fat jar,无需额外处理,运行时可正常访问
  • 若坚持使用launch4j,需将自定义JRE与EXE放在同一目录,在launch4j配置中指定JRE相对路径(如./jre/bin/java.exe),即可实现免安装运行,但jpackage是官方推荐的更简洁方案

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 10:57:48