# JavaFX-simple-demo **Repository Path**: tonight-is-precious/javafx-simple-demo ## Basic Information - **Project Name**: JavaFX-simple-demo - **Description**: 本项目是主要演示生成绿色版exe文件和安装版exe文件,所以代码结构比较简单。JavaFX 是一个用于开发跨平台图形用户界面(GUI)的应用程序框架,从 JDK 1.8 开始内置,JDK 11 后需单独安装。它由多个核心模块组成,包括 UI 控件、FXML API、基础功能、图形场景、媒体播放和 WebView。 学习资源丰富,涵盖官网、教程、文档等。打包方式多样,支持绿色版(免安装)或安装版 - **Primary Language**: Unknown - **License**: MPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2025-11-01 - **Last Updated**: 2025-11-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: Javafx, exe, Jpackage, jdk17 ## README # JavaFX-simple-demo JavaFX 简单示例,主要目的演示生成绿色版exe文件和安装版exe文件 ## 介绍 本项目是主要演示生成绿色版exe文件和安装版exe文件,所以代码结构比较简单。 JavaFX 是一个用于开发跨平台图形用户界面(GUI)的应用程序框架,从 JDK 1.8 开始内置,JDK 11 后需单独安装。它由多个核心模块组成,包括 UI 控件、FXML API、基础功能、图形场景、媒体播放和 WebView。 学习资源丰富,涵盖官网、教程、文档等。打包方式多样,支持绿色版(免安装)或安装版 EXE 文件。 ## 打包方式 在 JavaFX Maven 项目中,有多种方式将打包为 exe 文件。 以下是 主流的打包方式讲解,选择一种适合自己的方式。 第 1 种方式:JLink插件 + jpackage命令,打包成绿色版(免安装)EXE 包 第 2 种方式:maven-shade插件 + maven-jpackage插件,打包成安装版 EXE 包 ## 代码结构 ![img.png](docs/images/img.png) ## 环境准备 ### 1. OpenJDK 17.0.17 Java 运行环境和编译器。 下载地址:https://www.oracle.com/java/technologies/downloads/#java17-windows ![img.png](docs/images/img1.png) 安装好之后通过命令 java 和 jpackage 验证下是否安装成功。 `java -version` `jpackage -h` ### 2. javafx-sdk-17.0.17 开发时依赖的 JavaFX 库 下载地址:https://gluonhq.com/products/javafx/ ![img.png](docs/images/img2.png) ### 3. javafx-jmods-17.0.17 打包时用于 jlink/jpackage 下载地址:https://gluonhq.com/products/javafx/ ![img_1.png](docs/images/img_1.png) ### 4. wix314.exe 生成 .msi 安装包的底层工具(**建议安装,实测中不安装,则生成exe也会报错**) 下载地址:https://github.com/wixtoolset/wix3/releases ![img_2.png](docs/images/img_2.png) 安装wix314.exe ![img_3.png](docs/images/img_3.png) 验证安装是否成功,打开命令窗口,输入 light, 出现以下说明配置成功 ![img_4.png](docs/images/img_4.png) ## 第一种生成方式:生成绿色版 exe 文件 使用 javafx-maven-plugin 插件中自带的 javafx:jlink 打包命令 ### 1、点击 javafx:jlink 检查 pom.xml 文件中是否存在 javafx-maven-plugin 插件 ![img.png](docs/images/img3.png) 双击 javafxLjlink ![img_1.png](docs/images/img_11.png) ### 2、在target下生成app目录与app.zip ![img_2.png](docs/images/img_12.png) ![img_3.png](docs/images/img_13.png) ### 3、双击 app.bat 启动项目 在 app/bin目录下 找到 app.bat文件,双击打开 ![img_4.png](docs/images/img_14.png) 双击 app.bat 打开后的出现控制台黑窗口和程序启动界面,后面再使用jpackage再进行打包成exe,可去除控制台黑窗口 ![img_5.png](docs/images/img_5.png) ### 4、用 jpackage 再打包成绿色版 exe 点击 jlink_jpackage_to_exe.bat 批处理文件 或者执行以下命令 1、打开PowerShell窗口,输入cd切换到 target 目录 `cd D:\ideaProject2\javafx-simple-demo\target` 2、执行jpackage命令,有ico图标 `jpackage --name JavafxSimpleDemo --type app-image -m com.javafx.simple.demo/com.javafx.simple.demo.MainStartup --runtime-image app/ --icon classes/images/app64.ico` 注意:一定要选择全部允许操作 ![img_6.png](docs/images/img_6.png) ### 5、生成 JavafxSimpleDemo 目录 以上命令方式,会生成 target/JavafxSimpleDemo 目录 和 JavafxSimpleDemo.exe 文件 生成 JavafxSimpleDemo 文件夹下目录结构 ![img_7.png](docs/images/img_7.png) 双击 JavafxSimpleDemo.exe 文件,打开程序登录界面 ![img_8.png](docs/images/img_8.png) **以上步骤能生成 绿色版(免安装) exe 执行文件,便于开发调试和分发** ## 第二种生成方式:生成安装版 exe 文件 ### 1、点击 package 命令 检查下 pom.xml 文件中是否包含 jpackage-maven-plugin 和 maven-shade-plugin 插件,这两个插件都需要 点击 package 命令,等待自动生成 exe 文件 ![img_9.png](docs/images/img_39.png) 控制台输入日志,表示正在生成中,大概1分钟左右 ![img_10.png](docs/images/img_40.png) ### 2、生成 JavafxSimpleDemo-1.0.0.exe 安装文件 在 target/dist 下生成 JavafxSimpleDemo-1.0.0.exe 安装文件 ![img_15.png](docs/images/img_45.png) ### 3、安装EXE 双击 JavafxSimpleDemo.exe 文件,打开安装引导程序 ![img_16.png](docs/images/img_46.png) ![img_17.png](docs/images/img_47.png) ![img_18.png](docs/images/img_48.png) 遇到360拦截,一定要选择 不再提醒 与 允许所有操作 ![img_21.png](docs/images/img_21.png) 生成桌面快捷方式 ![img_19.png](docs/images/img_49.png) 双击 JavafxSimpleDemo 快捷方式,打开程序主界面 ![img_20.png](docs/images/img_20.png) **以上步骤能生成 安装版的 exe 执行文件,标准的windows安装程序**