Jpackage

简介

jpackage - 用于打包自包含 Java 应用程序的工具,是 JDK 14 引入的一个工具。

该工具将 Java 应用程序和 Java 运行时映像作为输入,并生成包含所有必要依赖项的 Java 应用程序映像。它将能够生成特定于平台的格式的本机包,例如包括打包 Windows (.exe),macOS (.app),和 Linux (.deb) 。每种格式都必须构建在其运行的平台上,没有跨平台支持。该工具将具有允许以各种方式自定义打包应用程序的选项。

运行时环境

WiX3

下载地址: https://github.com/wixtoolset/wix3/releases  

【免费】jpackageWINX工具包314版本资源-CSDN文库

Command命令参数

官方文档:The jpackage Command   jdk17

C:\>jpackage --help
用法:jpackage <options>示例用法:
--------------生成适合主机系统的应用程序包:对于模块化应用程序:jpackage -n name -p modulePath -m moduleName/className对于非模块化应用程序:jpackage -i inputDir -n name \--main-class className --main-jar myJar.jar从预构建的应用程序映像:jpackage -n name --app-image appImageDir生成应用程序映像:对于模块化应用程序:jpackage --type app-image -n name -p modulePath \-m moduleName/className对于非模块化应用程序:jpackage --type app-image -i inputDir -n name \--main-class className --main-jar myJar.jar要为 jlink 提供您自己的选项,请单独运行 jlink:jlink --output appRuntimeImage -p modulePath \--add-modules moduleName \--no-header-files [<additional jlink options>...]jpackage --type app-image -n name \-m moduleName/className --runtime-image appRuntimeImage生成 Java 运行时程序包:jpackage -n name --runtime-image <runtime-image>一般选项:@<filename>从文件读取选项和 / 或模式可以多次使用此选项。--type -t <type>要创建的程序包的类型有效值为:{"app-image", "exe", "msi"}如果未指定此选项,则将创建与平台相关的默认类型。--app-version <version>应用程序和 / 或程序包的版本--copyright <copyright string>应用程序的版权--description <description string>应用程序的说明--help -h将用法文本输出到输出流并退出,用法文本中包含适用于当前平台的每个有效选项的列表和说明--icon <file path>应用程序包图标的路径(绝对路径或相对于当前目录的路径)--name -n <name>应用程序和 / 或程序包的名称--dest -d <destination path>用来放置所生成的输出文件的路径(绝对路径或相对于当前目录的路径)默认为当前的工作目录。--temp <directory path>用来创建临时文件的新目录或空白目录的路径(绝对路径或相对于当前目录的路径)如果指定,则在任务完成时将不删除临时目录,必须手动删除临时目录。如果未指定,则将创建一个临时目录,并在任务完成时删除该临时目录。--vendor <vendor string>应用程序的供应商--verbose启用详细的输出--version将产品版本输出到输出流并退出。用来创建运行时映像的选项:--add-modules <模块名称 >[,< 模块名称>...]要添加的模块的逗号 (",") 分隔列表此模块列表连同主模块(如果指定)将作为 --add-module 参数传递到 jlink。如果未指定,则仅使用主模块(如果指定了 --module),或者使用默认的模块集(如果指定了--main-jar)。可以多次使用此选项。--module-path -p <module path>...路径的 ; 分隔列表每个路径要么是模块的目录,要么是模块化 jar 的路径。(每个路径可以是绝对路径,也可以是相对于当前目录的路径。)可以多次使用此选项。--jlink-options <jlink 选项>要传递给 jlink 的选项列表(用空格分隔)如果未指定,则默认为 "--strip-native-commands--strip-debug --no-man-pages --no-header-files"。可以多次使用此选项。--runtime-image <directory path>将复制到应用程序映像的预定义运行时映像的路径(绝对路径或相对于当前目录的路径)如果未指定 --runtime-image,jpackage 将运行 jlink 以使用如下选项创建运行时映像:--strip-debug、--no-header-files、--no-man-pages 和--strip-native-commands。用来创建应用程序映像的选项:--input -i <directory path>包含要打包的文件的输入目录的路径(绝对路径或相对于当前目录的路径)输入目录中的所有文件将打包到应用程序映像中。--app-content <additional content>[,<additional content>...]要添加到应用程序有效负载中的文件和 / 或目录的逗号分隔路径列表。此选项可以多次使用。用来创建应用程序启动程序的选项:--add-launcher <launcher name>=<file path>启动程序的名称和包含关键字 - 值对列表的属性文件的路径(绝对路径或相对于当前目录的路径)可以使用关键字 "module"、"main-jar"、"main-class"、"description"、"arguments"、"java-options"、"app-version"、"icon"、"launcher-as-service"、"win-console"、"win-shortcut"、"win-menu"、"linux-app-category" 和 "linux-shortcut"。这些选项将添加到原始命令行选项中或者用来覆盖原始命令行选项,以构建额外的替代启动程序。将从命令行选项构建主应用程序启动程序。可以使用此选项构建额外的替代启动程序,可以多次使用此选项来构建多个额外的启动程序。--arguments <main class arguments>在没有为启动程序提供命令行参数时,要传递到主类的命令行参数可以多次使用此选项。--java-options <java options>要传递到 Java 运行时的选项可以多次使用此选项。--main-class <class name>要执行的应用程序主类的限定名称只有在指定了 --main-jar 时才能使用此选项。--main-jar <main jar file>应用程序的主 JAR;包含主类(指定为相对于输入路径的路径)可以指定 --module 或 --main-jar 选项,但是不能同时指定两者。--module -m <module name>[/<main class>]应用程序的主模块(以及可选的主类)此模块必须位于模块路径中。如果指定了此选项,则将在 Java 运行时映像中链接主模块。可以指定 --module 或 --main-jar 选项,但是不能同时指定这两个选项。用来创建应用程序启动程序的与平台相关的选项:--win-console为应用程序创建控制台启动程序,应当为需要控制台交互的应用程序指定用来创建应用程序包的选项:--about-url <url>应用程序主页的 URL--app-image <directory path>用来构建可安装程序包的预定义应用程序映像的位置(绝对路径或相对于当前目录的路径)--file-associations <file path>包含关键字 - 值对列表的属性文件的路径(绝对路径或相对于当前目录的路径)可以使用关键字 "extension"、"mime-type"、"icon" 和 "description"来描述此关联。可以多次使用此选项。--install-dir <directory path>默认安装位置下面的相对子路径--license-file <file path>许可证文件的路径(绝对路径或相对于当前目录的路径)--resource-dir <directory path>覆盖 jpackage 资源的路径可以通过向该目录中添加替代资源来覆盖 jpackage 的图标、模板文件和其他资源。(绝对路径或相对于当前目录的路径)--runtime-image <directory path>要安装的预定义运行时映像的路径(绝对路径或相对于当前目录的路径)在创建运行时程序包时需要使用选项。--launcher-as-service请求创建安装程序,以将主应用程序启动程序注册为后台服务类型应用程序。用来创建应用程序包的与平台相关的选项:--win-dir-chooser添加一个对话框以允许用户选择产品的安装目录。--win-help-url <url>用户可以从中获取更多信息或技术支持的 URL--win-menu请求为此应用程序添加开始菜单快捷方式--win-menu-group <menu group name>此应用程序所在的开始菜单组--win-per-user-install请求基于每个用户执行安装--win-shortcut请求为此应用程序添加桌面快捷方式--win-shortcut-prompt添加一个对话框以允许用户选择是否将由安装程序创建快捷方式。--win-update-url <url>可用应用程序更新信息的 URL--win-upgrade-uuid <id string>与此程序包的升级相关联的 UUID

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/pingmian/83831.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CRM管理软件的数据可视化功能使用技巧:让数据驱动决策

在当今数据驱动的商业环境中&#xff0c;CRM管理系统的数据可视化功能已成为企业优化客户管理、提升销售效率的核心工具。据企销客研究显示&#xff0c;具备优秀可视化能力的CRM系统&#xff0c;用户决策效率可提升47%。本文将深入解析如何通过数据可视化功能最大化CRM管理软件…

智慧充电:新能源汽车智慧充电桩的发展前景受哪些因素影响?

全球能源结构转型与碳中和目标的推进&#xff0c;新能源汽车产业迎来爆发式增长&#xff0c;而智慧充电桩作为其核心基础设施&#xff0c;发展前景备受关注。智慧充电不仅关乎用户充电体验的优化&#xff0c;更是电网平衡、能源效率提升的关键环节。 然而&#xff0c;其发展并…

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…

多模态大语言模型arxiv论文略读(105)

UnifiedMLLM: Enabling Unified Representation for Multi-modal Multi-tasks With Large Language Model ➡️ 论文标题&#xff1a;UnifiedMLLM: Enabling Unified Representation for Multi-modal Multi-tasks With Large Language Model ➡️ 论文作者&#xff1a;Zhaowei…

SQLServer中的存储过程与事务

一、存储过程的概念 1. 定义 存储过程&#xff08;Stored Procedure&#xff09;是一组预编译的 SQL 语句的集合&#xff0c;它们被存储在数据库中&#xff0c;可以通过指定存储过程的名称并执行来调用它们。存储过程可以接受输入参数、输出参数&#xff0c;并且可以返回执行…

使用UDP连接ssh

使用UDP连接ssh mosh简介两端安装moshWindows安装mosh 放行端口使用mosh登录Linuxdebug mosh简介 Mosh最大的特点是基于UDP方式传输&#xff0c;支持在服务端创建一个临时的Key供客户端一次性连接&#xff0c;退出后失效&#xff1b;也支持通过SSH的配置进行认证&#xff0c;但…

软件功能模块归属论证方法

文章目录 **一、核心设计原则****二、论证方法****三、常见决策模式****四、验证方法****五、反模式警示****总结** 在讨论软件功能点应该归属哪些模块时&#xff0c;并没有放之四海而皆准的固定方法&#xff0c;但可以通过系统化的论证和设计原则来做出合理决策。以下是常见的…

ServBay 1.13.0 更新,新增第三方反向代理/内网穿透

ServBay 作为一款简化本地开发环境搭建与管理的强大工具&#xff0c;致力于打造一个开箱即用、稳定可靠的本地开发平台&#xff0c;让用户专注于代码编写&#xff0c;提升开发效率。 ServBay 1.13.0 正式发布&#xff01;本次更新聚焦于提升本地开发项目的外部可访问性、增强国…

如何利用乐维网管进行IP管理

IP管理是网络管理中的关键环节&#xff0c;对于保障网络的正常运行、提升资源利用效率以及保障网络安全等方面都具有不可忽视的重要性。乐维网管在IP管理方面具有多种实用功能&#xff0c;以下从IP规划与分配、IP状态监测、IP冲突处理、IP审计与报表生成四个方面&#xff0c;介…

Go语言学习-->go的跨平台编译

Go语言学习–&#xff1e;go的跨平台编译 默认我们go build的可执行文件都是当前操作系统可执行的文件&#xff0c;Go语言支持跨平台编译——在当前平台下编译其他平台的可执行文件。 eg&#xff1a;在windows界面的代码&#xff0c;编译完成后在linux上面运行 实现方式&#…

SpringBoot自动配置原理深度解析

一、引言 SpringBoot的"约定优于配置"理念极大地简化了Spring应用的开发流程&#xff0c;而其核心魔法就是自动配置(Auto-Configuration)。本文将深入剖析自动配置的实现原理&#xff0c;帮助开发者更好地理解和定制SpringBoot应用。 二、自动配置核心机制 1. Ena…

使用阿里云百炼embeddings+langchain+Milvus实现简单RAG

使用阿里云百炼embeddingslangchainMilvus实现简单RAG 注意测试时&#xff0c;替换其中的key、文档等 import os from langchain_community.embeddings import DashScopeEmbeddings from langchain_community.vectorstores import Milvus from langchain_text_splitters impor…

事件监听 ——CAD C#二次开发

一、AutoCAD .NET API 事件机制 1. 事件监听核心 - Database.ModifyObjects 事件 当数据库中的实体&#xff08;如图形对象&#xff09;发生修改时触发&#xff0c;包括&#xff1a; - 几何属性变更&#xff08;移动、缩放、旋转&#xff09;。 - 非几何属性变更&#xff08…

动量及在机器人控制中的应用

动量是物理学中的一个基本概念&#xff0c;在机器人学中也有重要应用。以下是详细解释&#xff1a; 1. 动量的基本定义 动量&#xff08;Momentum&#xff09;是描述物体运动状态的物理量&#xff0c;定义为&#xff1a; 线性动量&#xff1a;$ p mv $ $ m $ 为质量&#xf…

LeetCode 2434.使用机器人打印字典序最小的字符串:贪心(栈)——清晰题解

【LetMeFly】2434.使用机器人打印字典序最小的字符串&#xff1a;贪心(栈)——清晰题解 力扣题目链接&#xff1a;https://leetcode.cn/problems/using-a-robot-to-print-the-lexicographically-smallest-string/ 给你一个字符串 s 和一个机器人&#xff0c;机器人当前有一个…

影楼精修-AI衣服祛褶皱算法解析

注&#xff1a;为避免侵权&#xff0c;本文所用图像均为AIGC生成或无版权网站提供&#xff1b; 衣服祛褶皱功能&#xff0c;目前在像素蛋糕、美图云修、百度网盘AI修图、阿里云都有相关的功能支持&#xff0c;它的价值就是将不平整的衣服图像&#xff0c;变得整齐平整&#xf…

Celery 核心概念详解及示例

Celery 核心概念详解及示例 Celery 是一个简单、灵活且可靠的分布式系统&#xff0c;用于处理大量消息&#xff0c;提供对任务队列的操作&#xff0c;并支持任务的调度和异步执行。它常用于深度优化 Web 应用的性能和响应速度&#xff0c;通过将耗时的操作移到后台异步执行&am…

智能对联网页小程序的仓颉之旅

#传统楹联遇上AI智能体&#xff1a;我的Cangjie Magic开发纪实 引言&#xff1a;一场跨越千年的数字对话 "云对雨&#xff0c;雪对风&#xff0c;晚照对晴空"。昨天晚上星空璀璨&#xff0c;当我用仓颉语言写下第一个智能对联网页小程序的Agent DSL代码时&#xff0…

《ERP原理与应用教程》第3版习题和答案

ERP原理与应用教程是一门系统介绍企业资源计划(Enterprise Resource Planning, ERP)系统核心理论、技术架构及实施应用的综合性课程。它主要面向管理类、信息类、工程类等专业学生及企业管理者,旨在培养对现代企业信息化管理的理解与实践能力。以下是该课程的详细解析: 一…

SOC-ESP32S3部分:32-LVGL显示框架

飞书文档https://x509p6c8to.feishu.cn/wiki/Ly6ywvphqi6HZlk38vHcz2OgnXg LVGL是一个开源的显示框架&#xff0c;使用它可以加速我们开发带显示屏交互的应用。 IDF对于LVGL的支持一直有更新的&#xff0c;我们可以很方便在组件库中搜索到对应版本的LVGL&#xff0c;并把它添…