免费试用

跨平台小程序在线开发工具,用做网页的技术做小程序,兼容微信、支付宝、抖音、快手、百度等主流小程序平台!

java打包exe没jvm

在本教程中,我们将了解如何将Java应用程序打包成一个不依赖于JVM的独立exe文件。使用这种方法,您开发的Java应用程序可以在计算机上运行,即使该计算机上没有安装Java运行时环境(JRE)也可以正常运行。

#### 原理

Java应用程序是跨平台的,可由JVM在不同的操作系统中运行。然而,这也意味着Java应用程序的运行依赖于已安装的JRE。为了让Java应用程序成为独立的exe文件,我们需要创建一个可执行文件,其中包括:

1. 自包含的JRE:一个针对目标操作系统的、内嵌在打包后的exe文件内的Java运行环境。

2. 应用程序启动器:用于启动并运行Java应用程序的原生代码。

这意味着Java应用程序将直接依赖于打包后的exe文件及其内嵌的JRE,而不再需要在计算机上安装Java运行时环境。

#### 详细步骤

我们将使用开源项目Launch4j来将Java应用程序打包成不依赖JVM的exe文件。以下是操作步骤:

1. 下载并安装 [Launch4j](http://launch4j.sourceforge.net/)。

2. 创建一个简单的Java应用程序,例如HelloWorld.java:

```

public class HelloWorld {

public static void main(String[] args) {

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

}

}

```

3. 使用`javac`命令编译Java源代码文件:

```

javac HelloWorld.java

```

编译完成后,会得到一个HelloWorld.class文件。

4. 运行Launch4j并创建一个新项目。

5. 在Launch4j的“Basic”选项卡中,按以下的方式填写:

- Output file: 选择您想要保存的exe文件路径,例如:`HelloWorld.exe`。

- Jar: 选择包含您的Java应用程序的JAR文件。

- Don't wrap the jar, launch only: 不选中此选项。

- Change dir: 不选中此选项。

6. 在“Classpath”选项卡中,不要修改任何选项。

7. 在“JRE”选项卡中,您可以选择您的应用程序所需的最低Java运行时版本。不过,这不是必需的,因为我们将内嵌JRE。

8. 在“Version Info”选项卡中,您可以为exe文件添加版本信息,例如公司名称、产品名称、版权等。这不是必需的,但会使您的exe文件看起来更专业。

9. 保存您的Launch4j项目,然后点击“Build wrapper”按钮。这将在指定的输出位置生成一个exe文件。

10. 使用 [jlink](https://docs.oracle.com/en/java/javase/11/tools/jlink.html) 来为Java应用程序创建自定义JRE。你将需要根据你编写的应用程序的模块要求来选择合适的模块。运行以下命令:

```

jlink --module-path $JAVA_HOME/jmods --add-modules java.base --output custom_jre

```

其中,`$JAVA_HOME`是Java安装目录的路径,`java.base` 是应用程序所需的模块,`custom_jre`则是将要创建的自定义JRE的目录名。

11. 将生成的exe文件和 `custom_jre` 文件夹打包分发给用户。用户在解压后,即可双击exe文件运行您的Java应用程序,无需安装JVM。

至此,您已成功将Java应用程序打包成一个不依赖JVM的独立exe文件。这样的应用程序更方便用户使用,并能避免JVM版本冲突等问题。当然,不同操作系统上的运行还是需要为每个目标操作系统创建对应的exe文件。


相关知识:
百度智能小程序第三方平台开发
百度智能小程序是一种轻量级的应用程序,可以在百度App内部直接运行,无需用户下载安装。作为第三方开发者,可以通过百度智能小程序第三方平台进行开发和发布自己的小程序。在本文中,我将为你介绍百度智能小程序第三方平台开发的原理和详细步骤。首先,我们来了解一下百度
2023-08-23
百度小程序开发公司哪家好
百度小程序是基于百度生态系统的一种轻量级应用,它允许开发者快速构建并发布功能丰富的应用程序。百度小程序具有跨平台、高效稳定、开发简单等特点,因此备受开发者的欢迎。在开发百度小程序时,选择一家专业的开发公司是确保项目成功的关键之一。在下面的文章中,我将介绍其
2023-08-23
安达多端小程序开发
安达多端小程序,是一种新型应用程序类型,为用户提供更加轻量级、快速、灵活的使用体验,并且可以在多个平台上运行,不受局限。下面将详细介绍安达多端小程序的原理和开发方法。一、 安达多端小程序原理安达多端小程序原理是采用“一套代码,多端运行”方式,即只需要编写一
2023-08-09
安徽公司小程序开发推荐
随着智能手机的日益普及,移动互联网进入了一个爆发式增长的时代。作为移动互联网的新生事物,小程序又以其轻量级、便捷性质及“无需下载、能实时更新”的特点,受到了广大用户的喜爱。那么,针对安徽地区的企业如何选择适合自己的小程序开发服务呢?本文将从小程序的原理、开
2023-08-09
vscode小程序开发插件
Visual Studio Code是一款常用的开发工具,而在小程序开发中也有了相应的插件。下面将对这些插件的原理和使用进行详细介绍。1. 微信小程序开发插件微信小程序开发插件是官方出品的用于微信小程序开发的VS Code插件,它可以提供多种自动提示和代码
2023-08-09
qq小程序开发需要什么语言
QQ小程序是一种轻应用,可以在QQ聊天界面中直接使用。其开发语言和技术大多来源于微信小程序,但也有一些不同点。总的来说,QQ小程序开发需要以下语言和工具:1. 前端开发语言和框架QQ小程序的前端开发语言主要是HTML、CSS、JavaScript。同时,开
2023-08-09
qq小程序开发要钱吗
QQ小程序是腾讯推出的一种新型应用,与微信小程序一样,可以在QQ中直接使用,无需下载安装。由于QQ是国内社交软件的主流之一,QQ小程序具有很好的发展前景。那么对于想要开发QQ小程序的人员来说,是否需要付费呢?下面我将为大家介绍相关的原理和详细情况。首先,Q
2023-08-09
delphi开发微信小程序服务端
微信小程序作为一种具有轻量化、开放性和用户粘性的新型应用形态,日益受到开发者的青睐。想要开发微信小程序,需要一个可靠的服务端来支持它的运行。而Delphi作为一种强大的编程语言,也可以用来开发微信小程序服务端。一、微信小程序服务端的原理微信小程序需要使用微
2023-08-09
app开发内置的小程序
小程序是指一种轻量级应用程序,提供和普通APP相近的基本功能和用户体验。小程序具有独立运行的程序,不需要下载、安装、更新,能够在微信、支付宝等APP内直接使用,是一种基于微服务架构的技术手段。那么,对于APP开发者来说,在应用程序内部集成小程序脚本,是如何
2023-08-09
小程序开发工具怎么发布文章
小程序是现在很多企业、个人都在使用的一种移动应用程序开发框架。小程序开发工具是一种方便开发者进行小程序开发的集成开发环境,可以对代码进行编辑、调试、上传等一系列操作。想要在小程序上发布一篇文章,需要进行以下步骤:第一步:创建小程序账号在使用小程序开发工具前
2023-05-26
小程序开发工具基础库位置
小程序开发工具基础库位置是指小程序开发者工具中的基础库文件,这些文件包含了小程序的核心功能、API接口、UI组件等,是小程序运行的基础。在小程序开发过程中,我们需要使用这些基础库文件进行开发和调试。基础库文件包含两部分:基础库和扩展库。其中基础库是小程序开
2023-05-26
微信小程序开发工具如何调试
微信小程序开发工具是一款由微信官方推出的集成开发环境,是开发者开发微信小程序的重要工具之一。通过微信小程序开发工具,我们可以方便地进行代码编写、调试、预览等操作。在微信小程序开发的过程中,调试功能尤为重要,它能够帮助我们发现代码中的问题,修复错误,并确保我
2023-05-26