免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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即可运行。


相关知识:
wpf打包exe工具
**一、WPF介绍**Windows Presentation Foundation(简称WPF)是.NET Framework 3.0中的一个图形子系统,用于渲染用户界面。它利用矢量图形和硬件加速来实现现代化、优美的界面,使程序开发与设计更和谐、专注和简
2023-06-14
vs重新生成exe
标题:Visual Studio重新生成EXE文件 - 原理与简易教程摘要:本文将详细解释Visual Studio中如何重新生成EXE文件的原理,并提供一个简易教程,以方便入门人员进行操作。一、原理简述Visual Studio(通常简称为VS)是由微软
2023-06-14
vs2012打包exe
在此教程中,我们将介绍如何使用Visual Studio 2012(VS2012)将C#或C ++项目打包为exe文件。我们将像面向新手研究人员一样解释此过程。一、打包exe的基本原理当我们谈论“打包为exe”的时候,我们实际上是在编译源代码并生成可执行文
2023-06-14
vc2010生成exe程序
Visual C++ 2010(VC++ 2010)是微软推出的C++集成开发环境(IDE),可以帮助开发者编写、编译和生成可执行文件(.exe)。它包含了一系列工具,如编译器、调试器和库,来支持C++语言的开发。在本教程中,我们将通过以下几个步骤来讲解如
2023-06-14
python2
Python 2.7 打包成 EXE 文件的原理和详细介绍:Python 是一种解释型语言,因此可以直接运行源代码。但有时候,我们希望将多个脚本和依赖库打包成单个可执行文件(.exe),使得其他没有安装 Python 的用户也能运行这个程序。在使用 Pyt
2023-06-14
linux生成
标题:在Linux上生成.exe文件:原理及详细教程引言:Linux和Windows作为不同的操作系统,它们的可执行文件格式也各不相同。然而,有时我们在Linux上编写的程序需要在Windows上运行,或者我们想要提供支持多平台的可执行程序。本文旨在解释如
2023-06-14