标签:其他 说明 package app 必须 版本 博客 网址 classpath
.\jdk-14.0.1\bin\jpackage -i .\planewar --type app-image -n planewar --main-jar .\planewar\plane-war-1.0-SNAPSHOT.jar --vendor cy --verbose --win-console
# -i: 存放待打包资源的文件夹 # -type: win下默认是exe,其他的有msi、app-image # -n: 打包后的程序名称 # --main-jar 包含启动类(main)的jar包,如果jar包不是可执行的jar,则需要手动指定主类 # --main-class 手动指定主类,例如: --main-class com.xxx.AppMain
# --vendor 供应商信息(随便填)
# --verbose 显示打包过程
# --win-console 添加控制台输出
将需要打包的资源放进文件夹planewar
执行打包
.\jdk-14.0.1\bin\jpackage -i .\planewar -n planewar --main-jar .\planewar\plane-war-1.0-SNAPSHOT.jar --vendor cy --verbose --win-console --win-dir-chooser --win-shortcut
选项说明:
# -i 表示输入文件夹 # -n 表示应用名称 # --main-jar 指定jar包,需要jar已经指定main类,否则需要添加--main-class手动指定,如:--main-class com.demo.DemoApplication # --vendor 发行商信息 # --verbose 显示打包执行过程 # --win-console 使用控制台输出 # --win-dir-chooser 选择安装位置 # --win-shortcut 创建快捷方式 #其他的选项如下: # –win-dir-chooser, 安装时添加 “选择安装路路径” # –win-shortcut, 安装后自动在桌面添加快捷键 # –win-menu-group, 启动该应用程序所在的菜单组 (实测无效,但是必须有这条命令,没有–win-menu 会报 311 错误) # -update 2021-2-18: –win-menu-group 应该放在–win-menu 之后,否则无效。 # –win-menu,添加到系统菜单中 # 示例:jpackage --name Non-modular-installer --input lib --main-class com.raven.App --main-jar Non-modular-packaging-demo.jar --vendor raven --win-dir-chooser --win-shortcut --win-menu --win-menu-group "Non-modular-packaging"
[Application] app.name=PlaneWar app.version=1.0 app.runtime=$ROOTDIR\runtime app.identifier=com.game app.classpath=$ROOTDIR\app\.\plane-war-1.0-SNAPSHOT.jar;$ROOTDIR\app\plane-war-1.0-SNAPSHOT.jar app.mainjar=$ROOTDIR\app\plane-war-1.0-SNAPSHOT.jar app.mainclass=com.game.World [JavaOptions] [ArgOptions]
[Application] app.name=PlaneWar app.version=1.0 app.runtime=$ROOTDIR\runtime app.identifier=com.game app.classpath=$ROOTDIR\app app.mainclass=com.game.World [JavaOptions] [ArgOptions]
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
jre\bin\java --class-path "..\planewar\PlaneWar\app\.;..\planewar\PlaneWar\app\lib\*" com.game.GameLaunch
说明:
# 成功表示可以运行 # jar路径windows使用";"分割,linux使用":" # "..\planewar\PlaneWar\app\."表示class文件的根目录 # "..\planewar\PlaneWar\app\lib\*"表示加载lib中所有的jar文件
jre\bin\java --class-path "app\.;app\lib\*" com.game.GameLaunch
Linux:
jre\bin\java --class-path "app\.:app\lib\*" com.game.GameLaunch
5.5 运行脚本,成功即完成。
使用jpackage将java程序打包成exe程序(不需要安装jdk即可运行)
标签:其他 说明 package app 必须 版本 博客 网址 classpath
原文地址:https://www.cnblogs.com/zeromi/p/14852323.html