免费试用

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

打包exe包含jre

在这篇文章中,我们将简要介绍如何将 Java 应用程序打包为一个独立的受控物 (应用程序独立),并附带自己的 Java 运行时环境(JRE) 。这种方法的优点是用户不需要单独安装 Java,可以在不影响其其他 Java 应用程序的情况下运行您的应用程序。

在发布 Java 应用程序时,通常有两种方法:一种是让用户在计算机上安装 JRE 或 JDK,然后单独提供您的应用程序,另一种是将 JRE 捆绑在应用程序中并一并提供给用户。以下为详细介绍这两种方案。

### 为什么包含 JRE?

打包 JRE 的优点:

1. 便捷性。用户不需要单独安装 JRE。

2. 独立性。用户可以在不影响他们的其他 Java 应用程序的情况下管理您的应用程序。

3. 版本控制。您可以确保您的应用程序始终使用您指定的正确 JRE 版本。

### 如何打包?

1. 使用 jlink 工具

在 Java 9 中引入了 jlink 工具。它使开发人员能够创建可执行文件,该文件包含您的应用程序所需的所有模块以及自定义运行时映像。以下为使用 jlink 的步骤:

a. 将 Java 源代码编译为模块

b. 创建一个使用所有需要的模块的 `module-info.java` 文件

c. 创建运行时映像

d. 创建可执行文件

2. 使用 native-image 工具 (GraalVM)

使用 GraalVM 中的 native-image, JVM应用程序可以编译成与操作系统相关的可执行文件。这个可执行文件将包含内置的JRE,这样您的客户就不需要单独安装 Java。步骤如下:

a. 安装并配置 GraalVM

b. 运行`native-image`命令,该命令将接受一个jar文件输入并将其转换为一个本地可执行文件

3. 使用打包工具 (Launch4j, JSmooth 等)

有一些第三方工具能将 Java 应用程序打包为 Windows .exe 文件或其他平台的可执行文件。这些工具通常允许您选择捆绑 JRE 或依赖系统 JRE。例如 Launch4j, JSmooth 和 jarsplice 等。

使用其中任何一个工具,都需要进行以下步骤:

a. 创建一个包含您的应用程序类文件和 JRE 的本地目录结构

b. 使用打包工具,按照工具文档中的说明,将上述目录结构打包为一个可执行文件

### 结论

每种方法都有其优缺点,例如可以考虑使用打包工具,因为它们可以使我们以相对简单的方式创建可执行文件。但是,如果您希望为特定的Java版本创建最小化的Java运行时映像,那么jlink可能更适合您的需求。

无论哪种选择,以上三种方法都使您能够发布一个自包含的应用程序,用户无需单独安装JRE即可运行。


相关知识:
打包exe问题
打包 EXE 文件指的是将一个或多个程序和资源文件(如图片、音频、视频等)打包成一个单独的可执行文件 (Executable file, .exe)。通过打包 EXE 文件,用户无需安装任何额外的依赖库或环境,就可以运行程序。这对于减少用户的部署难度以及简
2023-06-14
如何把资源文件打包进exe
将资源文件打包到exe中是一个常见的需求,在创建一个可执行应用程序时,往往需要将程序所需的图像、音频、字体等资源文件一同打包。常见的编程语言和框架都提供了将资源文件打包到exe的方法。以下为您提供详细的教程,这里以Python和C#为例进行讲解:一、Pyt
2023-06-14
为什么不能生成exe文件
文件扩展名为“.exe”的文件是Windows可执行文件,它们用于启动和运行各种应用程序。生成exe文件的过程涉及将源代码(如C、C++或其他编程语言)编译成可执行二进制代码。然而,不是所有的编程环境和开发场景都允许你生成exe文件。以下是一些可能导致不能
2023-06-14
swing 打包exe
Swing 打包成 EXE 文件 - 原理和详细介绍在本文中,我将向您介绍如何将使用 Java Swing 编写的程序打包成可执行的 EXE 文件。有了 EXE 文件,用户可以轻松运行您的应用程序,无需安装 Java 运行时环境 (JRE)。打包的原理基于
2023-06-14
qt如何生成exe安装程序
在QT中生成exe安装程序并不困难,下面将为您详细介绍如何用QT生成exe安装程序的过程。本教程假设您已经具备一定的QT编程基础。开发工具:1. Qt Creator IDE2. NSIS (Nullsoft Scriptable Install Syst
2023-06-14
ping处理封装exe
在本教程中,我们将介绍如何将“ping”功能封装到一个可执行的exe文件中。这将方便用户在操作电脑时,不必通过命令提示符来执行ping命令进行网络连接测试。我们将首先介绍ping命令的原理,然后详细讲解封装过程。一、ping命令的原理Ping是Packet
2023-06-14