当前位置: 首页 > article >正文

javafx 将项目打包为 Windows 的可执行文件exe

要将 JavaFX 项目打包为 .exe 文件,你可以使用一些工具将你的应用程序封装为 Windows 可执行文件。以下是两种常用的方法:

方法 1:使用 jpackage(适用于 JDK 14 及更高版本)

jpackage 是 JDK 内置的工具,可以将你的 Java 应用程序打包成一个平台特定的安装程序或可执行文件(包括 .exe)。

步骤:
  1. 构建 JAR 文件

    • 确保你的 JavaFX 应用已经成功构建为 JAR 文件(例如 yourapp.jar)。
  2. 使用 jpackage 打包

    • 使用 jpackage 命令来创建 .exe 文件。首先打开命令行工具(如 PowerShell 或命令提示符)并执行以下命令:
    jpackage --type exe --name YourAppName --input <JAR 文件所在目录> --main-jar yourapp.jar --main-class com.yourpackage.Main
    

    解释:

    • --type exe:指定输出为 .exe 文件。
    • --name YourAppName:指定生成的 .exe 文件的名称。
    • --input <JAR 文件所在目录>:指定包含 JAR 文件的目录。
    • --main-jar yourapp.jar:指定应用程序的主 JAR 文件。
    • --main-class com.yourpackage.Main:指定你的主类(含 main 方法)的完全限定名称。
  3. 输出

    • 执行命令后,jpackage 会在当前目录下生成一个 .exe 文件,可以直接用于 Windows 上的部署。
注意:
  • jpackage 在 JDK 14 及更高版本中提供。如果你使用的 JDK 版本较低,请升级至 JDK 14 或更高版本。

方法 2:使用 Launch4j(适用于所有 JDK 版本)

Launch4j 是一个流行的工具,能够将 JAR 文件封装成 Windows 的 .exe 文件。

步骤:
  1. 下载和安装 Launch4j

    • 访问 Launch4j 官网 下载并安装。
  2. 创建配置文件

    • 启动 Launch4j,创建一个新的配置文件。你需要设置以下信息:
      • Output file:指定输出的 .exe 文件路径。
      • Jar:选择你已经打包好的 JAR 文件。
      • Main class:指定包含 main 方法的主类的完全限定类名。
      • JRE:配置 Java 运行时环境(可选,如果没有安装 JRE,则可以指定 JRE 路径)。
  3. 生成 .exe 文件

    • 配置完成后,点击 “Build wrapper” 按钮,Launch4j 会生成一个 .exe 文件。
  4. 附加 JRE(可选)

    • 如果你希望让用户无需安装 JRE 即可运行应用程序,可以选择在 .exe 文件中打包 JRE。你可以在 Launch4j 的设置中指定 JRE 路径,或者使用工具如 Inno Setup 来一起打包。

方法 3:使用 Inno Setup(为安装包提供支持)

Inno Setup 是一个用于创建安装程序的工具,可以将 JavaFX 应用程序与 JRE 一起打包成一个可执行的安装程序,包括 .exe 文件。

  1. 使用 Launch4jjpackage 创建 .exe 文件。
  2. 使用 Inno Setup 创建安装包,并将 .exe 和 JRE 一起打包。

Inno Setup 官网:http://jrsoftware.org/isinfo.php


这三种方法中,jpackage 是 JDK 自带的工具,推荐用于新版本的 JDK;Launch4j 是一个轻量级工具,适合所有版本的 JDK。如果你需要更多功能或想要创建安装包,Inno Setup 也能帮助你完成这项任务。


http://www.kler.cn/a/471327.html

相关文章:

  • 嵌入式ARM平台 openwrt系统下 基于FFmpeg 的视频采集及推流 实践
  • 面向对象的思维hong
  • python制作翻译软件
  • Vue3 + Vite + Electron + Ts 项目快速创建
  • MyBatis 配置文件全解析
  • MySQL入门学习笔记
  • 【开源免费】基于SpringBoot+Vue.JS多维分类的知识管理系统(JAVA毕业设计)
  • Chrome访问https页面显示ERR_CERT_INVALID,且无法跳过继续访问
  • Python自学 - 封装与私有化
  • BaseCTF scxml 详解
  • 基于COT(Chain-of-Thought Prompt)的教学应用:如何通过思维链提示提升模型推理能力
  • 107周二复盘 (185)Demo打包
  • 内置AI与浏览器的开源终端Wave Terminal安装与远程连接内网服务器教程
  • C语言字符串函数详解
  • Pytest-Bdd-Playwright 系列教程(18):使用 Jinja2 钩子函数生成自定义测试报告
  • Postman接口测试04|批量运行测试用例、参数化、Mock Server、Cookie鉴权、Newman生成测试报告
  • JNPF 低代码技术架构与核心组件深度剖析
  • 大模型LLM-Prompt-TRACE
  • Springboot 读写分离
  • Ollama + FastGPT搭建本地私有企业级AI知识库 (Linux)
  • php将word转换为pdf
  • 使用Oracle的RPM包在Linux上安装MYSQL
  • 《探索 OpenCV 4.10.0:计算机视觉领域的璀璨新星》
  • docker学习记录:本地部署mongodb
  • K8S集群更新api-sever证书的SAN属性
  • 【11_只出现一次的数字】