拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 从Java 创建Jar 可执行文件和Windows 可执行文件的指南

从Java 创建Jar 可执行文件和Windows 可执行文件的指南

白鹭 - 2022-07-22 2146 0 2

一、概述

在本教程中,我们将首先学习如何将Java 程序打包到可执行的Java ARchive (JAR) 文件中。然后,我们将了解如何使用该可执行JAR 生成Microsoft Windows 支持的可执行文件。

我们将使用Java 附带的jar命令行工具来创建JAR 文件。然后,我们将学习使用jpackage工具(可用于Java 16 及更高版本的jdk.jpackage,来生成可执行文件。

2.jarjpackage命令的基础知识

JAR 文件是已编译的Java 类文件和其他资源的容器。它基于流行的ZIP 文件格式。

可执行的JAR 文件也是一个JAR 文件,但也包含一个主类。主类在清单文件中被引用,我们稍后会讨论。

为了运行以JAR 格式交付的应用程序,我们必须有一个Java 运行时环境(JRE)。

与JAR 文件不同,特定于平台的可执行文件可以在为其构建的平台上本地运行例如,该平台可以是Microsoft Windows、Linux 或Apple macOS。

为了获得良好的最终用户体验,最好为客户提供特定于平台的可执行文件

2.1。jar命令

创建JAR 文件的一般语法是:

jar cf jar-file input-file(s)

让我们看一下使用jar命令创建新存档时可以使用的一些选项:

  • c指定我们要创建一个JAR 文件

  • f指定我们希望输出到一个文件

  • m用于包含来自现有清单文件的清单信息

  • jar-file是我们希望生成的JAR 文件的名称。JAR 文件通常具有.jar扩展名,但这不是必需的。

  • input-file(s)是一个以空格分隔的文件名列表,我们希望将其包含在JAR 文件中。通配符*也可以在这里使用。

一旦我们创建了一个JAR 文件,我们就会经常检查它的内容。要查看JAR 文件包含的内容,我们使用以下语法:

jar tf jar-file

这里,t表示我们要列出JAR 文件的内容。f选项表示我们要检查的JAR 文件是在命令行中指定的。

2.2.jpackage命令

jpackage命令行工具帮助我们为模块化和非模块化Java 应用程序生成可安装的包

它使用jlink命令为我们的应用程序生成Java 运行时映像。结果,我们得到了一个针对特定平台的自包含应用程序包。

由于应用程序包是为目标平台构建的,因此该系统必须包含以下内容:

  • 应用程序本身

  • 一个JDK

  • 打包工具所需的软件。对于Windows,jpackage需要WiX 3.0 或更高版本

以下是jpackage命令的常用形式:

jpackage --input . --main-jar MyAppn.jar

3. 创建可执行文件

现在让我们来创建一个可执行的JAR 文件。准备就绪后,我们将着手生成Windows 可执行文件。

3.1。创建可执行JAR 文件

创建可执行JAR 相当简单。我们首先需要一个Java 项目,其中至少包含一个带有main()方法的类。我们为示例创建了一个名为MySampleGUIAppn的Java 类。

第二步是创建一个清单文件。让我们将清单文件创建为MySampleGUIAppn.mf

Manifest-Version: 1.0
 Main-Class: MySampleGUIAppn

我们必须确保此清单文件末尾有一个换行符才能正常工作。

清单文件准备好后,我们将创建一个可执行的JAR:

jar cmf MySampleGUIAppn.mf MySampleGUIAppn.jar MySampleGUIAppn.class MySampleGUIAppn.java

让我们查看我们创建的JAR 的内容:

jar tf MySampleGUIAppn.jar

这是一个示例输出:

META-INF/
 META-INF/MANIFEST.MF
 MySampleGUIAppn.class
 MySampleGUIAppn.java

接下来,我们可以通过CLI 或GUI 运行我们的JAR 可执行文件。

让我们在命令行上运行它:

java -jar MySampleGUIAppn.jar

在GUI 中,我们可以简单地双击相关的JAR 文件。这应该像任何其他应用程序一样正常启动它。

3.2.创建Windows 可执行文件

现在我们的可执行JAR 已经准备就绪并且可以工作了,让我们为示例项目生成一个Windows 可执行文件:

jpackage --input . --main-jar MySampleGUIAppn.jar

此命令需要很短的时间才能完成。完成后,它会在当前工作文件夹中生成一个exe文件。可执行文件的文件名将与清单文件中提到的版本号连接。我们将能够像任何其他Windows 应用程序一样启动它。

以下是我们可以与jpackage命令一起使用的更多特定于Windows 的选项:

  • –type: 指定msi而不是默认的exe格式

  • –win-console: 使用控制台窗口启动我们的应用程序

  • –win-shortcut: 在Windows 开始菜单中创建一个快捷方式文件

  • –win-dir-chooser:让最终用户指定自定义目录来安装可执行文件

  • –win-menu –win-menu-group:让最终用户在开始菜单中指定自定义目录

4。结论

在本文中,我们学习了有关JAR 文件和可执行JAR 文件的一些基础知识。我们还了解了如何将Java 程序转换为JAR 可执行文件,然后再转换为Microsoft Windows 支持的可执行文件。


标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *