Java 工具集教程

javafxpackager.exe JavaFX打包工具

javafxpackager.exe 是 JavaFX 中的一个重要工具,主要用于将 JavaFX 应用程序打包成可执行文件或跨平台的安装包。它可以生成各种格式的安装程序,如 Windows 的 MSI 安装包、Mac 的 dmg 文件以及 Linux 的 deb 或 rpm 包。javafxpackager.exe 作为一个命令行工具,允许开发者在终端中通过特定的命令和参数进行打包操作。

javafxpackager.exe 的主要功能包括:

  • 打包JavaFX应用程序:将 JavaFX 应用程序打包成可执行文件或安装包,以便于在目标平台上部署和运行。

  • 跨平台支持:支持多种操作系统平台,如 Windows、Mac 和 Linux,可以生成适用于这些平台的安装包。

  • 灵活的配置选项:通过命令行参数,开发者可以灵活配置打包过程中的各种选项,如源文件路径、输出文件路径、应用程序名称等。

命令语法

javapackager -command [-options]

命令选项

其中 command 为以下项之一:

  • -createjar  打包程序根据其他参数生成 jar 档案。

  • -deploy  打包程序根据其他参数生成 jnlp 和 html文件。

  • -createbss  将 css 文件转换为二进制形式

  • -signJar  使用提供的证书为 jar 文件签名。

  • -makeall  将 compilation, createjar 和 deploy 步骤作为一个调用执行,在其中预定义大多数参数。源必须位于 "src" 文件夹中, 生成的文件 (jar, jnlp, html) 将放入 "dist" 文件夹中。此命令只能以最简单方式配置, 并且尽可能自动进行。

createjar 命令的选项包括:

  • -appclass <application class>  要执行的应用程序类的限定名称。

  • -preloader <preloader class>  要执行的预加载器类的限定名称。

  • -paramfile <file>  包含默认命名应用程序参数的属性文件。

  • -argument arg  JNLP 文件的 <fx:argument> 元素中要放入的未命名参数。

  • -classpath <files>  相关 jar 文件名列表。

  • -manifestAttrs <manifest attributes>  附加清单属性列表。语法: "name1=value1,name2=value2,name3=value3"。

  • -noembedlauncher  如果存在, 打包程序将不会向 jarfile 添加 JavaFX 启动程序类。

  • -nocss2bin  在复制到 jar 之前, 打包程序不会将 CSS 文件转换为二进制形式。

  • -runtimeversion <version>  所需 JavaFX 运行时的版本。

  • -outdir <dir>  要将输出文件生成到的目录的名称。

  • -outfile <filename>  生成的文件的名称 (不带扩展名)。

  • -srcdir <dir>  待打包文件的基目录。

  • -srcfiles <files>  srcdir 中的文件的列表。如果省略, 将对 srcdir (在这种情况下是必需的参数) 中的所有文件进行打包。

deploy 命令的选项包括:

  • -title <title>  应用程序的标题。

  • -vendor <vendor>  应用程序的供应商。

  • -description <description>  应用程序的说明。

  • -appclass <application class>  要执行的应用程序类的限定名称。

  • -preloader <preloader class>  要执行的预加载器类的限定名称。

  • -paramfile <file>  包含默认命名应用程序参数的属性文件。

  • -htmlparamfile <file>  包含所生成小应用程序参数的属性文件。

  • -width <width>  应用程序的宽度。

  • -height <height>  应用程序的高度。

  • -native <type>  生成自包含的应用程序包 (如果可能)。如果指定了类型, 则只创建此类型的包。所支持类型的列表包括: installer, image, exe, msi, dmg, rpm 和 deb。

  • -name <name>  应用程序的名称。

  • -embedjnlp  如果存在, 会将 jnlp 文件嵌入 html 文档中。

  • -embedCertificates  如果存在, 会将证书嵌入 jnlp 文件中。

  • -allpermissions  如果存在, 应用程序将需要 jnlp 文件中的所有安全权限。

  • -updatemode <updatemode>  设置 jnlp 文件的更新模式。

  • -isExtension  如果存在, srcfile 将被视为扩展。

  • -callbacks  在生成的 HTML 中指定用户回调方法。格式为 "name1:value1,name2:value2,..."

  • -templateInFilename  html 模板文件的名称。占位符格式为 #XXXX.YYYY(APPID)#

  • -templateOutFilename  要将已填充的模板写入到的 html 文件的名称。

  • -templateId  用于模板处理的应用程序的应用程序 ID。

  • -argument arg  JNLP 文件的 <fx:argument> 元素中要放入的未命名参数。

  • -outdir <dir>  要将输出文件生成到的目录的名称。

  • -outfile <filename>  生成的文件的名称 (不带扩展名)。

  • -srcdir <dir>  待打包文件的基目录。

  • -srcfiles <files>  srcdir 中的文件的列表。如果省略, 将对 srcdir (在这种情况下是必需的参数) 中的所有文件进行打包。

createbss 命令的选项包括:

  • -outdir <dir>  要将输出文件生成到的目录的名称。

  • -srcdir <dir>  待打包文件的基目录。

  • -srcfiles <files>  srcdir 中的文件的列表。如果省略, 将对 srcdir (在这种情况下是必需的参数) 中的所有文件进行打包。

signJar 命令的选项包括:

  • -keyStore <file>  密钥库文件名。

  • -alias  密钥的别名。

  • -storePass  用于检查密钥库完整性或对密钥库取消锁定的口令。

  • -keyPass  用于恢复密钥的口令。

  • -storeType  密钥库类型, 默认值为 "jks"。

  • -outdir <dir>  要将输出文件生成到的目录的名称。

  • -srcdir <dir>  待签名文件的基目录。

  • -srcfiles <files>  srcdir 中的文件的列表。如果省略, 将对 srcdir (在这种情况下是必需的参数) 中的所有文件进行打包。

makeAll 命令的选项包括:

  • -appclass <application class>  要执行的应用程序类的限定名称。

  • -preloader <preloader class>  要执行的预加载器类的限定名称。

  • -classpath <files>  相关 jar 文件名列表。

  • -name <name>  应用程序的名称。

  • -width <width>  应用程序的宽度。

  • -height <height>  应用程序的高度。

  • -v  启用详细输出。

命令示例

(1)将类目录的内容打包到 outjar.jar, 将应用程序类设置为 package.ClassName。如下:

javapackager -createjar -appclass package.ClassName -srcdir classes -outdir out -outfile outjar -v

(2)在由 package.ClassName 类启动且大小为 34x43 的应用程序 AppName 的 outdir 中生成 outfile.jnlp 和对应的 outfile.html 文件。如下:

javapackager -deploy -outdir outdir -outfile outfile -width 34 -height 43 -name AppName -appclass package.ClassName -v -srcdir compiled

 (3)此命令执行包含编译在内的所有打包工作: compile, createjar 和 deploy。如下:

javapackager -makeall -appclass brickbreaker.Main -name BrickBreaker -width 600 -height 600

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号