JDK14之jpackage打包命令的使用

 更新时间:2020年05月09日 10:01:44   作者:徐志林  
这篇文章主要介绍了JDK14之jpackage打包命令的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

到此这篇关于JDK14之jpackage打包命令的使用的文章就介绍到这了,更多相关JDK14 jpackage打包命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot下使用自定义监听事件的流程分析

    SpringBoot下使用自定义监听事件的流程分析

    事件机制是Spring的一个功能,目前我们使用了SpringBoot框架,所以记录下事件机制在SpringBoot框架下的使用,同时实现异步处理,这篇文章主要介绍了SpringBoot下使用自定义监听事件,需要的朋友可以参考下
    2023-08-08
  • java 反射和动态代理详解及实例代码

    java 反射和动态代理详解及实例代码

    这篇文章主要介绍了java 反射和动态代理详解及实例代码的相关资料,需要的朋友可以参考下
    2016-09-09
  • java集合collection接口与子接口及实现类

    java集合collection接口与子接口及实现类

    这篇文章主要介绍了java集合collection接口与子接口及实现类,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • Java进程cpu占用过高问题解决

    Java进程cpu占用过高问题解决

    这篇文章主要介绍了Java进程cpu占用过高问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • java设计模式之抽像工厂详解

    java设计模式之抽像工厂详解

    这篇文章主要为大家详细介绍了java设计模式之抽像工厂的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • Java对象的序列化与反序列化详解

    Java对象的序列化与反序列化详解

    这篇文章主要为大家详细介绍了Java对象的序列化与反序列化的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • Java+opencv3.2.0实现重映射

    Java+opencv3.2.0实现重映射

    这篇文章主要为大家详细介绍了Java+opencv3.2.0实现重映射的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • SpringBoot中利用@Valid和@Validated进行参数校验

    SpringBoot中利用@Valid和@Validated进行参数校验

    为了保证数据的正确性、完整性,前后端都需要进行数据检验,作为一名后端开发工程师,不能仅仅依靠前端来校验数据,我们还需要对接口请求的参数进行后端的校验,所以本文给大家介绍了SpringBoot中利用@Valid和@Validated进行参数校验,需要的朋友可以参考下
    2024-09-09
  • SpringBoot高并发下控制限流的几种实现方法

    SpringBoot高并发下控制限流的几种实现方法

    随着业务的发展,高并发成为很多系统不得不面对的问题,限流作为一种常用的技术手段,可以帮助我们有效地控制请求的流量,避免系统因过载而崩溃,本文将介绍在Spring Boot应用中实现限流的几种方法,需要的朋友可以参考下
    2024-06-06
  • Java泛型<T> T与T的使用方法详解

    Java泛型<T> T与T的使用方法详解

    这篇文章主要介绍了Java泛型<T> T与T的使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07

最新评论