目录
使用JEP包工具的语法
如何使用JEP包工具
在Servlet中使用属性的不同方法
方法一:仅打包一个JAR文件
方法2:将多个文件打包到一个目录
方法三:为多个平台生成可执行文件
JEP软件包工具的高级功能
创建自定义启动画面
签署包裹
合并 JVM 选择
结论
首页 Java java教程 Java中的JEP包工具

Java中的JEP包工具

Sep 14, 2023 pm 05:21 PM
jep (java enhancement proposal) 包 (package) 工具 (tool)

Java中的JEP包工具

JEP(即 Java 增强提案)是增强 Java 平台的想法。 JEP 打包工具就是这样一种改进,它使程序员能够将 Java 程序打包为本机可执行文件。

开发人员可以通过实施 JEP Package Tool 从 Java 程序创建本机可执行文件。这样做可以赋予这些可执行文件独立性,从而消除对 Java 虚拟机 (JVM) 或其他相关软件组件的依赖。这个强大工具的出现始于 Java 14,它是作为实验性功能引入的。

使用JEP包工具的语法

JEP 包工具的语法易于阅读和理解。使用 JEP 打包工具。您的计算机上必须安装 JDK 14。由于该工具通过命令行工作。使用它需要打开终端窗口或命令提示符。这是 JEP 包工具的语法 -

jpackage [options]
登录后复制

[options] 字段提供了您可以使用的各种参数,以修改JEP Package Tool的行为。可选和必选选项可以分为两组。

选项如下:

  • --name - 包的名称。

  • --input - 包含应用程序文件的输入目录。

  • --main-jar − 主JAR文件的名称。

  • --main-class − 主类的名称。

  • --type − 包的类型(例如,exe,msi,deb,rpm)。

  • --output − 输出文件的名称。

  • --vendor − 供应商的名称。

  • --copyright - 版权声明。

  • --description - 描述。

  • --resource-dir - 包含资源的目录。

如何使用JEP包工具

按照以下步骤使用 JEP 打包工具 -

  • 第 1 步 - 安装 Java 14 或更高版本

    使用 JEP Package Tool 的唯一要求是安装 Java 14 或更新版本。因此,如果您的设备缺少已安装的该版本的 Java 软件;访问该工具必须安装它。

  • 步骤 2 − 创建一个 Java 应用程序

    为了将 Java 应用程序打包为本地可执行文件,请创建它。可以使用非模块化应用程序或模块化应用程序。

  • 第三步 - 编译应用程序

    使用Java编译器编译程序

  • 第四步 - 创建包

    一旦程序构建完成,可以使用JEP Package工具生成原生可执行包。为了实现这一点,您必须提供模块的名称和输出文件的位置。

    以下是使用JEP Package工具生成原生可执行包的示例命令 -

jpackage --name MyApplication --input target/modules --main-jar MyApp.jar --main-class com.example.MyApp --type exe --output MyApplication.exe
登录后复制

对于这个特定的示例,所使用的软件带有“MyApplication”的名称,并通过适当地标题为“MyApp.jar”的中央 JAR 文件进行操作。可以在标记为“target/modules”的指定目录中找到对数据输入的访问。此外,该程序操作的主要类组成部分的名称为“com.example.MyApp”。利用此类过程生成的最终产品将在标记为“MyApplication.exe”的输出文件中存放相关信息,该输出文件是在指定为可执行(“exe”)格式的包结构的范围内设计的。

在Servlet中使用属性的不同方法

根据应用程序的特定要求,有多种方法可以使用 JEP 封装工具。

方法一:仅打包一个JAR文件

如果您的程序仅由一个 JAR 文件组成,那么 JEP 包工具就是您的最佳选择,它允许您生成一个自给自足的可执行文件。尤其。该可执行文件无需在任何计算机上安装不同的 JRE 即可运行。例如 -

jpackage --input /path/to/myapp.jar --main-jar myapp.jar
登录后复制

使用此命令可以生成一个自主可执行文件。它将生成一个名为myapp的文件,可以在任何计算机上轻松执行。

方法2:将多个文件打包到一个目录

处理多个分布式资源和配置文件或不同库的开发人员应该选择 JEP 包工具,它提供了有效的解决方案。有了这个工具,就可以生成一个包罗万象的可执行包,其中包含所有必需的内容。

jpackage --input /path/to/myapp --main-jar myapp.jar
登录后复制

该命令将创建一个自包含的可执行文件,名为myapp,其中包含/path/to/myapp目录中的所有文件。

方法三:为多个平台生成可执行文件

要创建特定于平台的可执行文件,例如 Windows 的 EXE 文件或 macOS 的 DMG 文件,可以利用 JEP Package Tool 的 --type 选项。以下是一些命令示例 -

jpackage --input /path/to/myapp --main-jar myapp.jar --type exe
登录后复制

这个特定的命令具有生成Myapp.exe的能力 - 这是一个完全自包含且高度可适应的可执行文件,专门为在Windows环境中使用而创建。

jpackage --input /path/to/myapp --main-jar myapp.jar --type dmg
登录后复制

通过这个命令将会生成一个可以在 macOS 上执行的自包含可执行文件 Myapp.dmg。

JEP软件包工具的高级功能

此外,JEP 包工具还提供了许多复杂的功能,可用于进一步定制包。这是一些插图 -

创建自定义启动画面

要为您的程序提供独特的启动屏幕,请使用 --splash 选项。命令示例如下 -

jpackage --input /path/to/myapp --main-jar myapp.jar --splash splash.png
登录后复制

此命令将生成一个独立的可执行文件,该文件具有名为splash.png的独特启动屏幕。

签署包裹

要使用证书对包进行签名,请使用 --sign 选项。命令示例如下 -

jpackage --input /path/to/myapp --main-jar myapp.jar --sign mycert
登录后复制

该程序将生成一个独立的可执行文件,该文件已签名并具有一个名为 mycert 的证书,名为 myapp。

合并 JVM 选择

启动程序时,您可以使用 --java-options 选项包含 JVM 参数。命令示例如下 -

jpackage --input /path/to/myapp --main-jar myapp.jar --java-options "-Xmx512m -Dmyprop=value"
登录后复制

JVM 选项 -Xmx512m 和 -Dmyprop=value 将包含在此命令生成的独立可执行文件中。

结论

JEP Package Tool 是一个强大的工具,可以让开发人员轻松地将 Java 程序打包成独立的可执行文件。 JEP 包工具可用于生成特定于特定平台的可执行文件,使用独特的启动屏幕和签名自定义包,并凭借其简单的语法和复杂的功能将 JVM 参数添加到应用程序的运行时。开发人员可以利用 JEP 包工具使 Java 应用程序更易于使用和访问,而无需安装单独的 JRE。

以上是Java中的JEP包工具的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1673
14
CakePHP 教程
1429
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
公司安全软件导致应用无法运行?如何排查和解决? 公司安全软件导致应用无法运行?如何排查和解决? Apr 19, 2025 pm 04:51 PM

公司安全软件导致部分应用无法正常运行的排查与解决方法许多公司为了保障内部网络安全,会部署安全软件。...

如何将姓名转换为数字以实现排序并保持群组中的一致性? 如何将姓名转换为数字以实现排序并保持群组中的一致性? Apr 19, 2025 pm 11:30 PM

将姓名转换为数字以实现排序的解决方案在许多应用场景中,用户可能需要在群组中进行排序,尤其是在一个用...

如何使用MapStruct简化系统对接中的字段映射问题? 如何使用MapStruct简化系统对接中的字段映射问题? Apr 19, 2025 pm 06:21 PM

系统对接中的字段映射处理在进行系统对接时,常常会遇到一个棘手的问题:如何将A系统的接口字段有效地映�...

IntelliJ IDEA是如何在不输出日志的情况下识别Spring Boot项目的端口号的? IntelliJ IDEA是如何在不输出日志的情况下识别Spring Boot项目的端口号的? Apr 19, 2025 pm 11:45 PM

在使用IntelliJIDEAUltimate版本启动Spring...

如何优雅地获取实体类变量名构建数据库查询条件? 如何优雅地获取实体类变量名构建数据库查询条件? Apr 19, 2025 pm 11:42 PM

在使用MyBatis-Plus或其他ORM框架进行数据库操作时,经常需要根据实体类的属性名构造查询条件。如果每次都手动...

Java对象如何安全地转换为数组? Java对象如何安全地转换为数组? Apr 19, 2025 pm 11:33 PM

Java对象与数组的转换:深入探讨强制类型转换的风险与正确方法很多Java初学者会遇到将一个对象转换成数组的�...

电商平台SKU和SPU数据库设计:如何兼顾用户自定义属性和无属性商品? 电商平台SKU和SPU数据库设计:如何兼顾用户自定义属性和无属性商品? Apr 19, 2025 pm 11:27 PM

电商平台SKU和SPU表设计详解本文将探讨电商平台中SKU和SPU的数据库设计问题,特别是如何处理用户自定义销售属...

如何利用Redis缓存方案高效实现产品排行榜列表的需求? 如何利用Redis缓存方案高效实现产品排行榜列表的需求? Apr 19, 2025 pm 11:36 PM

Redis缓存方案如何实现产品排行榜列表的需求?在开发过程中,我们常常需要处理排行榜的需求,例如展示一个�...

See all articles