免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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` 可执行文件。这将包括原理和详细的步骤。### 原理可执行文件 `.exe`,是 Windows 上用来执行程序的一种文件格式。它们是包含机器码、程序逻辑和其他信息(如应用程序图标、版本信息等)的二进制
2023-06-14
vc编译后无法生成exe文件
在使用Visual C++ (VC++)进行编程时,可能会遇到编译后无法生成exe文件的情况。这通常是由于以下几个原因造成的。下面将分别详细介绍这些原因以及相应的解决方法:1. 编译错误和语法错误 当源代码中存在编译错误或者语法错误时,Visual C
2023-06-14
scratch制作exe文件
Scratch是一款由麻省理工学院媒体实验室开发的图形化编程软件,适用于学生和初学者进行编程学习。Scratch项目本身无法直接转换为可执行文件(.exe),但通过使用第三方工具和技巧,可以将Scratch项目导出为可以在计算机上运行的独立可执行文件(.e
2023-06-14
opencv怎么生成exe
生成OpenCV项目的executable (exe)文件可以通过以下步骤完成。本教程将使用C++和Microsoft Visual Studio作为开发环境。若使用其他编译器,步骤可能有所不同。**前提条件**1. 安装Microsoft Visual
2023-06-14
lua怎么生成exe
Lua是一种脚本语言,通常需要一个解释器来执行,所以你不能直接将一个Lua脚本编译为一个可执行文件。不过,有许多办法可以让Lua脚本编译成一个EXE。本文介绍一个基于Windows平台的用法:将Lua脚本与解释器(Lua官方分发的可执行文件lua.exe)
2023-06-14
json生成工具exe
JSON生成工具exe是一种用于生成JSON(JavaScript Object Notation)文件的工具。JSON是一种轻量级的数据交换格式,它很容易阅读和编写,同时也让机器能够解析和生成。在现代Web和移动应用开发中,JSON已经成为最常用的数据传
2023-06-14