免费试用

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

精简jre打包exe

在本教程中,我们将学习如何精简Java运行时环境(JRE)并将其与Java应用程序一起打包成一个独立的可执行文件(EXE)。这对于多个原因非常有用,如减小文件大小、简化安装过程以及确保应用程序使用特定版本的Java运行时。

在这个教程中,我们将使用OpenJDK及其工具,以在Windows上进行操作。但是,这些步骤在Linux和macOS上也适用。

**前置要求**

下载并安装以下软件:

1. JDK:在 https://adoptopenjdk.net/ 下载适用于您的操作系统的最新版本的OpenJDK。

2. Launch4j: 在 http://launch4j.sourceforge.net/ 下载Launch4j压缩包(用于将JAR转换为EXE)。

**步骤1:编译Java源代码**

首先,我们需要编写一个简单的Java应用程序并将其编译为JAR文件。例如,以下是一个名为`HelloWorld.java`的简单Java程序:

```java

public class HelloWorld {

public static void main(String[] args) {

System.out.println("Hello, World!");

}

}

```

使用以下命令将此程序编译为HelloWorld.class:

```

javac HelloWorld.java

```

将其打包为名为`HelloWorld.jar`的JAR文件:

```

jar cvfe HelloWorld.jar HelloWorld HelloWorld.class

```

**步骤2:准备精简的JRE**

1. 创建一个名为`jlink`的目录。

2. 使用`jdeps`命令分析应用程序所需的模块:

```

jdeps --print-module-deps HelloWorld.jar

```

请注意输出的模块名称,我们将在下一步中使用它们。

3. 使用`jlink`命令创建自定义JRE,只包含应用程序所需的模块。将 `` 替换为上一步识别出的模块名称:

```

jlink --no-header-files --no-man-pages --compress=2 --strip-debug --add-modules --output jlink

```

这将创建一个精简版JRE,只包含应用程序需要的功能。

**步骤3:使用Launch4j打包JRE和JAR文件**

1. 解压并运行Launch4j。

2. 在"基本"标签下填写以下信息:

- "输出文件":这将是生成的.EXE文件。例如:HelloWorld.exe

- "jar":这是我们之前创建的JAR文件。例如:HelloWorld.jar

- "不捆绑的JRE路径":从上一步骤生成的精简JRE文件夹(例如`jlink`)。

3. 在"JRE"标签页下配置以下选项:

- "最低版本":<可以设置为您使用的OpenJDK版本>

- "捆绑的JRE路径":与"不捆绑的JRE路径"相同。

4. 单击“构建”按钮以创建有精简JRE的EXE文件。

现在,您已经成功地将应用程序打包成了一个独立的EXE文件,该文件可以在没有预安装Java的计算机上运行。最后,您可以在压缩JRE文件夹和EXE文件后将其分发给其他用户。


相关知识:
生成的exe程序就不行了
生成的exe程序无法运行的原因有很多,这里我们来探讨一下可能导致程序无法运行的一些原因和解决方法。当我们编写完一个程序并成功生成exe文件时,我们希望它能够顺利运行。但有时可能会遇到一些问题,导致程序无法正常启动或运行。以下是一些可能的原因:1. 缺少运行
2023-06-14
生成无opencv环境的exe
在互联网领域,OpenCV是一个非常重要的计算机视觉库,其支持各种编程语言,并具有图像处理、机器学习、视频处理等功能。有时,在依赖OpenCV的项目中,需要将其与可执行文件(*.exe)一起打包,以方便在没有OpenCV库的环境下运行。本文将详细介绍如何在
2023-06-14
模式生成的exe
标题:模式生成的EXE文件:原理及详细介绍摘要:本文主要讲解了EXE文件的基本构成,以及通过使用模式生成(Pattern Generation)方法创建EXE文件的原理和实现步骤。适合对EXE文件生成原理感兴趣的入门读者。正文:一、EXE文件概述EXE文件
2023-06-14
做的dll和exe
DLL(Dynamic Link Library)和EXE(Executable)是计算机上两种不同类型的可执行文件。这篇文章将详细介绍DLL和EXE的原理、特点和用途。一、什么是DLL?DLL(动态链接库,英文全称:Dynamic Link Librar
2023-06-14
vs2015生成exeid
Visual Studio 2015(VS2015)是Microsoft发布的一款集成开发环境(IDE),通过它开发者能够更方便地编写、编译、调试和发布各类应用程序。在这个过程中,很多开发者都会碰到生成可执行文件(.exe文件)这一步。本文将详细介绍如何在
2023-06-14
mfc怎么做成exe
Microsoft Foundation Class (MFC) 库是一个为C++应用程序提供框架与工具的库,它使得开发 Windows 程序的过程更加简化。在MFC中,你可以通过其对象和方法轻松创建、维护和处理窗口、按钮、菜单等界面元素。当你在MFC上完
2023-06-14