jar包转exe文件
环境要求
- jdk17下载安装
- 开通.Net Framework 3.5.1
- 在Windows控制面板的 程序 中 点击启用和关闭Windows功能
- 勾选.Net Framework 3.5.1(包括.Net 2.0和3.0),点击确定,再点击同意下载
- 等待自动下载并安装完成
- wix3下载安装
jpackage
示例
.\jpackage -t exe ^
-i jar包文件夹路径 ^
-n 应用名称 ^
--main-jar 可执行jar包 ^
--icon 应用图标路径
--app-version 应用版本号
--vendor 应用供应商名称 ^
--dest 输出目录
--verbose ^
--win-console ^
--win-dir-chooser ^
--win-shortcut
- --verbose:启用详细输出
- --win-console:为应用程序创建控制台启动程序,应当为需要控制台交互的应用程序指定
- --win-dir-chooser:添加一个对话框,使用户能够选择产品的安装位置
- --win-shortcut:请求为此应用程序添加桌面快捷方式
jpackage -h
用法: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 -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"。
这些选项将添加到原始命令行选项中或者用来覆盖
原始命令行选项,以构建额外的替代启动程序。
将从命令行选项构建主应用程序启动程序。