JDK14之jpackage打包命令的使用

作者:徐志林 时间:2022-09-29 19:57:19 

1.前提:已安装JDK14,可以到jdk官网下载,或加QQ群835259695,快速免费下载

2.不说没用的直接上jdk14环境下的jpackage命令,打开cmd窗口输入:jpackage -h 得到如下内容:

F:>jpackage -h
WARNING: Using incubator modules: jdk.incubator.jpackage

用法:jpackage

示例用法:


 生成适合主机系统的应用程序包:
   对于模块化应用程序:
     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 -m 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
    将用法文本输出到输出流并退出,用法文本中包含
    适用于当前平台的每个有效选项的列表和说明
--name -n \<name>
    应用程序和/或程序包的名称
--dest -d \<destination path>
    用来放置所生成的输出文件的路径
    默认为当前的工作目录。
    (绝对路径或相对于当前目录的路径)
--temp \<file path>
    用来创建临时文件的新目录或空白目录的路径
    (绝对路径或相对于当前目录的路径)
    如果指定,则在任务完成时将不删除临时目录,
    必须手动删除临时目录
    如果未指定,则将创建一个临时目录,
    并在任务完成时删除该临时目录。
--vendor \<vendor string>
    应用程序的供应商
--verbose
    启用详细的输出
--version
    将产品版本输出到输出流并退出

用来创建运行时映像的选项:


--add-modules <模块名称>[,<模块名称>...]
    要添加的模块的逗号 (",") 分隔列表。
    此模块列表连同主模块(如果指定)
    将作为 --add-module 参数传递到 jlink。
    如果未指定,则仅使用主模块(如果指定了 --module),
    或者使用默认的模块集(如果指定了
    --main-jar)。
    可以多次使用此选项。
--module-path -p \<module path>...
    路径的 ; 分隔列表
    每个路径要么是模块的目录,要么是
    模块 jar 的路径。
    (每个路径可以是绝对路径,也可以是相对于当前目录的路径)
    可以多次使用此选项。
--bind-services
    将 --bind-services 选项传递到 jlink(将在服务
    提供商模块及其被依赖对象中进行链接)
--runtime-image \<file path>
    将复制到应用程序映像的预定义
    运行时映像的路径
    (绝对路径或相对于当前目录的路径)
    如果未指定 --runtime-image,jpackage 将运行 jlink 以
    使用如下选项创建运行时映像:
    --strip-debug、--no-header-files、--no-man-pages 和
    --strip-native-commands。

用来创建应用程序映像的选项:


--icon \<icon file path>
    应用程序包图标的路径
    (绝对路径或相对于当前目录的路径)
--input -i \<input path>
    包含要打包的文件的输入目录的路径
    (绝对路径或相对于当前目录的路径)
    输入目录中的所有文件将打包到
    应用程序映像中。

用来创建应用程序启动程序的选项:


--add-launcher \<launcher name>=\<file path>
    启动程序的名称和包含关键字-值对列表的
    属性文件的路径
    (绝对路径或相对于当前目录的路径)
    可以使用关键字 "module"、"main-jar"、"main-class"、
    "arguments"、"java-options"、"app-version"、"icon" 和
    "win-console"。
    这些选项将添加到原始命令行选项中或者用来覆盖
    原始命令行选项,以构建额外的替代启动程序。
    将从命令行选项构建主应用程序启动程序。
    可以使用此选项构建额外的替代启动程序,
    可以多次使用此选项来构建
    多个额外的启动程序。
--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
    为应用程序创建控制台启动程序,应当为
    需要控制台交互的应用程序指定

用来创建应用程序包的选项:


--app-image \<file path>
    用来构建可安装程序包的
    预定义应用程序映像的位置
    (绝对路径或相对于当前目录的路径)
--file-associations \<file path>
    包含关键字-值对列表的属性文件的路径
    (绝对路径或相对于当前目录的路径)
    可以使用关键字 "extension"、"mime-type"、"icon" 和 "description"
    来描述此关联。
    可以多次使用此选项。
--install-dir \<file path>
    默认安装位置下面的相对子路径
--license-file \<file path>
    许可证文件的路径
    (绝对路径或相对于当前目录的路径)
--resource-dir \<path>
    覆盖 jpackage 资源的路径
    可以通过向该目录中添加替代资源来覆盖 jpackage 的
    图标、模板文件和其他资源。
    (绝对路径或相对于当前目录的路径)
--runtime-image \<file-path>
    要安装的预定义运行时映像的路径
    (绝对路径或相对于当前目录的路径)
    在创建运行时程序包时需要使用选项。

用来创建应用程序包的与平台相关的选项:


--win-dir-chooser
    添加一个对话框以允许用户选择
    产品的安装目录
--win-menu
    将该应用程序添加到系统菜单中
--win-menu-group \<menu group name>
    启动该应用程序所在的菜单组
--win-per-user-install
    请求基于每个用户执行安装
--win-shortcut
    为应用程序创建桌面快捷方式
--win-upgrade-uuid \<id string>
    与此程序包升级相关联的 UUID

总结:

对于javafx打包来说我就关注如何去使用前两条命令


对于模块化应用程序:
jpackage -n name -p modulePath -m moduleName/className
对于非模块化应用程序:
jpackage -i inputDir -n name
–main-class className --main-jar myJar.jar

使用范例:
例一: jpackage -n myAppName -p myModulePath -m xzlDemo/com.xzl.JavaFxApplication
例二: jpackage -i ./ --temp tempDir --type “exe” --main-jar SipWifiMonitor-1.0-SNAPSHOT-jar-with-dependencies.jar

来源:https://blog.csdn.net/u012698467/article/details/104897144

标签:JDK14,jpackage,打包
0
投稿

猜你喜欢

  • java 工厂模式的讲解及优缺点的介绍

    2022-02-05 10:57:09
  • Java实现简单的五子棋游戏示例代码

    2022-03-14 22:35:47
  • 解读classpath读取resources目录下的文件

    2023-01-25 05:49:36
  • 基于Android实现百度地图定位过程详解

    2021-06-12 20:55:34
  • Spring Boot提高开发效率必备工具lombok使用

    2022-05-21 08:22:38
  • Android去除AlertDialog的按钮栏的分隔线

    2021-06-06 18:53:54
  • c#模拟银行atm机示例分享

    2023-04-01 10:59:45
  • Android的OkHttp包处理用户认证的代码实例分享

    2022-04-25 00:00:52
  • Java语言实现简单FTP软件 FTP上传下载队列窗口实现(7)

    2021-07-25 04:01:58
  • java线程间通信的通俗解释及代码示例

    2023-12-06 18:04:43
  • C#关闭指定名字进程的方法

    2021-11-23 23:59:42
  • C#/VB.NET中从 PDF 文档中提取所有表格

    2023-04-07 09:11:03
  • java代理模式(静态代理、动态代理、cglib代理)

    2022-11-22 16:12:49
  • Java与Oracle实现事务(JDBC事务)实例详解

    2023-02-12 12:47:22
  • C#中DataSet转化为实体集合类的方法

    2022-05-09 00:50:46
  • 详解JDK中ExecutorService与Callable和Future对线程的支持

    2023-11-25 07:39:07
  • 详解Java多线程编程中线程的启动、中断或终止操作

    2023-07-04 20:32:40
  • android安装后启动出错解决

    2021-10-31 12:13:26
  • UnityUI中绘制线状统计图

    2022-12-03 14:30:43
  • Java实现简单无界面五子棋

    2022-07-10 12:06:02
  • asp之家 软件编程 m.aspxhome.com