免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持APP、电脑端、小程序、IOS免签等等

javafx打包exe

JavaFX 打包 EXE 文件(原理和详细教程)

在本教程中,我们将介绍如何将 JavaFX 应用程序打包成可执行的 Windows EXE 文件。这将使得您的用户无需了解 JavaFX 即可轻松运行您的应用程序。我们将详细介绍相应的原理以及操作步骤。

一、打包原理

JavaFX 应用程序是由 Java 代码编写的,因此它需要 Java 运行时环境(JRE)来运行。我们可以将 JavaFX 应用程序、JRE 和一个启动器捆绑在一个 EXE 文件中。当用户双击该 EXE 文件时,启动器将自动加载并运行应用程序所需的 JRE,用户无需单独下载和安装 JRE。

二、详细操作步骤

为了打包 JavaFX 应用程序,我们需要使用 JDK 14 或更高版本,以及 JavaFX SDK。以下是打包 JavaFX 应用程序的详细步骤:

1. 准备 JavaFX 应用程序

准备一个简单的 JavaFX 应用程序并将其编译为 JAR 文件。假设您已创建一个名为 `MyJavaFXApp` 的项目,其主类为 `com.example.MyJavaFXApp.Main`。

2. 下载 JavaFX SDK

访问 JavaFX 官方网站(https://openjfx.io/)并下载适用于 Windows 的 JavaFX SDK。将其解压到一个指定的文件夹,例如配置环境变量 `PATH_TO_FX` := `C:\JavaFXSDK\lib`。

3. 安装 Inno Setup(可选)

Inno Setup 是一个免费的软件安装程序,可将 EXE 文件打包成安装程序。在打包 EXE 文件时,您可以选择使用 Inno Setup 生成安装程序。下载地址:http://www.jrsoftware.org/isinfo.php

4. 编写应用程序的模块描述符

创建一个名为 `module-info.java` 的文件,并在其中添加如下内容:

```

module myjavafxapp {

requires javafx.controls;

requires javafx.fxml;

opens com.example.MyJavaFXApp to javafx.graphics, javafx.fxml;

}

```

将此文件添加到应用程序的源码文件夹中。这样可以确保应用程序中的所有必须的 JavaFX 模块都被正确链接。

5. 编译和打包 JavaFX 应用程序

执行以下命令将应用程序编译为模块化的 JAR 文件:

```

javac --module-path %PATH_TO_FX% -d mods/com.example.MyJavaFXApp src/com.example.MyJavaFXApp/module-info.java src/com.example.MyJavaFXApp/com/example/MyJavaFXApp/Main.java

```

接下来,使用以下命令将其打包为一个 JAR 文件,并确保它包含主类信息:

```

jar --create --file=MyJavaFXApp.jar --main-class=com.example.MyJavaFXApp.Main -C mods/com.example.MyJavaFXApp .

```

6. 打包应用程序和 Java 运行时:

- 首先,使用 `jlink` 命令将 Java 运行时和 JavaFX 应用程序捆绑在一起:

```

jlink --module-path "%PATH_TO_FX%;%JAVA_HOME%\jmods" --add-modules javafx.controls,javafx.fxml,myjavafxapp --output myjavafxapp-runtime

```

- 然后,将打包好的 JAR 文件放入生成的 `myjavafxapp-runtime\bin` 文件夹中。

7. 创建 EXE 启动器

- 使用一个文本编辑器创建一个名为 `MyJavaFXApp.bat` 的批处理文件,并在其中输入以下命令:

```

@echo off

start /B myjavafxapp-runtime\bin\java.exe -jar MyJavaFXApp.jar

```

将此批处理文件与应用程序的 JAR 文件放在同一个文件夹中。

8. 将批处理文件转换为 EXE 文件

使用批处理文件转换器(例如 Bat To Exe Converter:https://bat-to-exe-converter.softonic.cn/)将 `MyJavaFXApp.bat` 转换为 `MyJavaFXApp.exe`。

9.(可选)使用 Inno Setup 创建安装程序

如果您之前已经安装了 Inno Setup,您可以使用它为您的应用程序创建一个安装程序。创建一个新的 Inno Setup 脚本(`.iss` 文件),然后按照 Inno Setup 官方文档配置您的安装程序。

完成以上步骤后,您应该已经成功地将 JavaFX 应用程序打包成 EXE 文件。将此 EXE 文件分发给您的用户,让他们轻松地运行您的 JavaFX 应用程序。


相关知识:
易语言exe生成exe文件
易语言是一款中国自主研发的编程软件,它以易于上手、中文化特点为核心,让初学者能够快速入门。易语言以易码(EMC,Easy Code)为底层支撑,同时也支持汇编、C语言等多种语言。以下是易语言生成exe文件的原理和详细介绍:一、易语言生成exe文件的原理1.
2023-06-14
制作exe的几种方式
在计算机编程中,可执行文件(executable file,简称:exe)是一个能够直接执行程序的文件。通常情况下,这些文件包含了计算机可以理解和执行的编译后的机器代码。下面我们将介绍几种制作可执行文件的方法及其原理。1. 使用编程语言编译器对于C/C++
2023-06-14
windowsxp被做成exe文件
在这篇文章中,我们将介绍如何将Windows XP操作系统制作成一个可执行文件(exe文件),以便将其在各种计算机上进行安装。请注意,这是一个实验性的方法,可能会引起潜在的技术问题,建议您在尝试之前创建系统备份,并了解潜在的风险。制作一个Windows X
2023-06-14
vs2012如何生成exe程序
Visual Studio 2012(简称VS2012)是微软公司推出的一款集成开发环境(Integrated Development Environment,IDE),广泛应用于多种编程语言的开发,如C++、C#、Visual Basic等。在使用Vis
2023-06-14
scratch3生成exe
Scratch 3.0 是一款基于图形化编程的学习软件,通过拼接各种颜色鲜艳的代码块,从而实现功能。它特别适合少年儿童学习编程,培养他们的创造力与逻辑思维。然而,Scratch 3.0 默认情况下仅允许用户将项目导出为.sb3 文件,而无法直接导出为独立
2023-06-14
qt生成的exe很大
Qt生成的exe文件很大的原因及对应的解决方法作为一名网站博主,我常常会遇到一些关于编程技术的问题。今天,我要来谈一谈关于Qt生成的exe文件过大的问题。许多人在使用C++和Qt库制作窗口应用程序时,都会遇到这个问题。在这篇文章中,我将解释导致这个问题的主
2023-06-14