免费试用

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

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、手机百度等平台上访问和使用。与传统的原生应用程序相比,智能小程序具有体积小、加载速度快、无需下载安装等优势。下面将为您详细介绍百度智能小程序的开发制作原理。1. 基础概念:
2023-08-23
百度小程序第三方开发商
百度小程序是由百度推出的一种轻量级应用平台,用于在移动设备上提供各种功能和服务。与传统的App相比,小程序具有许多优势,包括快速启动、无需下载安装、占用空间小等。这使得用户可以更加方便地使用各种应用,而不必面对繁琐的下载和安装过程。作为百度小程序的第三方开
2023-08-23
百度小程序开发商
百度小程序是由百度推出的一种基于云端运行的轻量级应用,用户可以在百度App内直接使用小程序,无需下载安装,具有快速、便捷的特点。本文将详细介绍百度小程序的原理和一些重要概念。一、原理和架构百度小程序的运行原理可以简化为三个步骤:数据请求、渲染展示和事件响应
2023-08-23
百度小程序开发不收费
百度小程序开发是一种基于百度生态系统的移动应用程序开发平台,它允许开发者使用HTML、CSS和JavaScript等前端技术开发小程序。与其他平台相比,百度小程序的一个显著特点就是不收取开发费用。下面我将详细介绍百度小程序开发不收费的原理。首先,百度小程序
2023-08-23
安徽幼儿园小程序开发费用
随着手机用户数量的不断增加,移动互联网成为了人们生活中不可缺少的一部分。许多企业和组织纷纷开发和推出了自己的移动应用程序,以方便用户进行各种操作。同时,人们对于移动应用程序的需求也不断增加,幼儿园小程序也逐渐成为一种新的趋势。那么,安徽幼儿园小程序开发费用
2023-08-09
wepy开发微信小程序
wepy是一款开源的微信小程序开发框架,其底层封装了微信小程序官方API,通过加入组件化开发、模块化开发、ES6、Promise等特性,大大提高了开发效率和开发体验。wepy官方文档中提到:“wepy为开发小程序提供了一种组件化、MVVM的开发模式”,这种
2023-08-09
vim开发小程序
Vim是一个文本编辑器,它在开发小程序方面有很大的作用。它具有很多特性和功能,比如自动补全和代码折叠等。在这篇文章中,我将介绍Vim在小程序开发中的使用和原理。Vim是一个非常流行的命令行编辑器,可以在Unix,Linux和Windows等系统上使用。它具
2023-08-09
uniapp开发小程序单页横屏适配
在uniapp开发小程序的过程中,我们经常会遇到横屏适配的问题。本文将详细介绍如何在uniapp开发的小程序中实现单页横屏适配。一、横屏适配的原理横屏适配的原理就是将小程序的页面按横屏布局进行排版,同时适配各种尺寸的屏幕进行渲染,使得在不同屏幕尺寸下页面都
2023-08-09
uniapp开发云闪付小程序
云闪付是中国银行业协会推出的一项云支付服务,提供快速、安全、便捷的支付方式。随着移动支付的普及,云闪付也逐渐成为人们生活中不可或缺的支付工具。而在小程序的发展大潮中,云闪付也推出了自己的小程序,在小程序中提供云支付服务。uniapp是一个开发跨平台应用的工
2023-08-09
h5游戏及小程序开发
H5游戏和小程序是当前互联网行业非常热门的技术领域,而且两者的发展趋势也非常迅速。下面就为大家介绍一下H5游戏和小程序的开发原理和详细介绍。一、H5游戏开发原理H5游戏是指基于HTML5技术开发的在线游戏。它具有开放性、兼容性强、开发速度快等特点,而且不需
2023-08-09
h5移动端小程序开发面试题
H5移动端小程序开发是现代移动端开发的重要组成部分,主要应用于微信、支付宝等各大平台。在此,我们将从原理和详细介绍两个方面入手,介绍H5移动端小程序开发的相关知识点。一、 原理1. H5移动端小程序的定义H5移动端小程序指的是基于HTML5技术和W3C规范
2023-08-09
微信小程序开发工具模块化开发流程
微信小程序是一种轻量级的应用程序,可以在微信中运行,无需下载或安装。它们很快、易于使用,并且可以轻松与其他微信功能集成。微信小程序开发工具是一个用于开发小程序的集成工具,它具有很多功能和特性,包括模块化的开发。模块化开发是一种将应用程序拆分成模块的开发方式
2023-05-26