JDK14打包工具jpackage的使用
总结:
一套打包下来发现目前jpackage工具还是处于小成阶段,至少不应该在执行基本命令时报错,打成安装包居然有57M,还是有很多没用的东西打进去了,而同样是这个项目,我自己研究的javafx+Maven多重依赖打包方法只有25M,两倍还有多,肉眼可见的对比伤害!具体请参考 :– JDK14+JAVAFX14+Maven定制jre打包瘦身,必成版
1.项目代码案例请参考:JDK14新建javafx+Maven项目
2.了解需要使用的jpackage命令:
jpackage -n name --temp tempDir -p modulePath -m moduleName/className
注:更多命令解释请参考 - JDK14之jpackage打包命令
3.使用IDEA自带的右侧MavenProject栏,选择package,打包得到带依赖的jar包xzlDemo-1.0-SNAPSHOT-jar-with-dependencies.jar,在target目录下新建jarFile文件夹并将打好的包放进去,最后打开IDEA下方的Terminal,执行下面命令:
jpackage --name noneModuleJavafxProject --temp tempDir --input target/jarFile --main-class com.xzl.AppLauncher --main-jar xzlDemo-1.0-SNAPSHOT-jar-with-dependencies.jar
初次运行会报第一个错:
WARNING: Using incubator modules: jdk.incubator.jpackage
找不到 WiX 工具 (light.exe, candle.exe)
从 https://wixtoolset.org 下载 WiX 3.0 或更高版本,然后将其添加到 PATH。
错误:类型 [null] 无效或不受支持
解决:我们可以根据提示进入https://wixtoolset.org下载安装就好了,然后类似添加jdk的bin一样,将它的bin目录添加到path
(继续如图)
4.如上图,打包生成msi安装文件时出错了,但此时可以看到tempDir项目镜像目录已生成,继续查一下问题,打开wix的bin目录,将上面异常命令去掉逗号用cmd运行一次(注:light.exe相关的命令有兴趣的可以自己去了解下,为了方便看到结果,我修改了部分代码)
light.exe -spdb -cultures:“en-us” -ext WixUtilExtension -out D:\xuzhilinTest\xzlDemo\tempDir\images\win-exe.image\noneModuleJavafxProject-1.0.msi -loc D:\xuzhilinTest\xzlDemo\tempDir\config\MsiInstallerStrings_en.wxl D:\xuzhilinTest\xzlDemo\tempDir\wixobj\main.wixobj D:\xuzhilinTest\xzlDemo\tempDir\wixobj\bundle.wixobj
可以看到结果一样还是311,但是提示了codepage1252,此时打开英文codepage包tempDir/config/MsiInstallerStrings_en.wxl 文件可以看到
而在同目录下还有中文codepage的命令包:
既然保存是1252,我们就将它替换成中文的936,再试一次:
此时我们打开目录tempDir\images\win-exe.image
总结:
一套打包下来发现目前jpackage工具还是处于小成阶段,至少不应该在执行基本命令时报错,打成安装包居然有57M,还是有很多没用的东西打进去了,而同样是这个项目,我自己研究的javafx+Maven多重依赖打包方法只有25M,两倍还有多,肉眼可见的对比伤害!具体请参考 :
下一篇 – JDK14+JAVAFX14+Maven定制jre打包瘦身,必成版
JDK14打包工具jpackage的使用相关推荐
- 用JEP 343打包工具,构建自包含、可安装的Java应用程序
OpenJDK社区发布了JEP 343:打包工具的早期访问版本.JEP 343:打包工具,又名jpackage,是打包自包含Java应用程序和Java运行时环境的新工具.这个基于JavaFX java ...
- webpack打开项目命令_webpack前端模块打包工具基本使用的详细记录(一)
webpack简介 我们都知道,Webpack 是当下最热门的前端资源模块化管理和打包工具.它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源.还可以将按需加载的模块进行代码分隔,等 ...
- 镜像打包工具clonezilla
镜像打包工具clonezilla clonezilla 百度云盘链接:https://pan.baidu.com/s/1LOEPqNE9O0Z4QJmNExlgeA 提取码:zlso 使用方法: 1. ...
- python 打包 .app 运行 控制台窗口_Python打包工具
1 Python打包工具 目前在windows平台上将Python程序打包成exe文件主要有三个工具. 今天将一个Tkinter写的界面程序打包成exe文件,三个工具都试了一遍,感觉PyInstall ...
- linux系统打包工具,Linux 压缩、解压缩和打包工具
前言:你是否曾经因为某个文件占用空间较大,而空间紧缺的U盘无法存放此文件.你是否曾经因为软件里有太多文件而不方便复制和携带.你是否曾因需要备份太过零散而头疼.那么基于"文件压缩和打包&quo ...
- Python打包工具Pyintealler打包py文件为windows exe文件过程及踩坑记录+实战例子
Python打包工具Pyintealler打包py文件为windows exe文件过程及踩坑记录+实战例子 目录 Python打包工具Pyintealler打包py文件为windows exe文件过程 ...
- 用InstallShield 打包工具 打 Win32 程序 (depends.exe 用看程序都依赖了哪些dll)
InstallShield 打包工具 1.InstallShield Limited Edition 安装教程 转载:http://www.cnblogs.com/javawebsoa/archive ...
- Web Bundler CheatSheet, 选择合适的构建打包工具
题注:Web Bundler CheatSheet 属于 Awesome-CheatSheet 系列,盘点数个常用的开发打包工具清单.欢迎加入阿里南京前端团队,欢迎关注阿里南京技术专刊了解更多讯息. ...
- 产品打包工具的制作,ant,编译源码,打jar包,打tag,打war包,备份release版本等...
1. 在进行打包工具的制作前,需要准备的软件有: svnant-1.3.1 作用是让ant和svn相关联 apache-ant-1.9.7 需要设置ant_home,path,我的配置是: ANT_ ...
最新文章
- DirectX9 SDK 下载、安装、VC++开发环境配置、跑通第一个例子
- npm install 报错 汇总_2020年特岗教师招聘征集志愿人员资格复审、面试公告汇总...
- 从控件开发的角度看几个editor控件,Freetextbox,radtoolbar,abouteditor,cuteeditor
- leetcode612. 平面上的最近距离(SQL)
- c# mysql数据库查询语句_C# mysql 查询
- 转同事博客一则,随感
- 基于typescript的rtsp客户端实现
- 树链剖分入门+博客推荐
- 支付宝拿技术开刀把扫码无情地革掉
- 【网络传输协议】RTSP即RealTimeStreamingProtocol流媒体网络传输协议
- 宇宙背景声子低温超导探测器
- 《美人天下》颠覆小公主之死 李治掌控全局_0
- 2-快速攻破vuex五大核心-附案例源码
- 全球通胀对IT领域的影响
- 【微软资源站】MSDN
- 20190512 XTCPC游记
- (四)比较好用的几个翻译软件
- [BZOJ]1933: [Shoi2007]Bookcase 书柜的尺寸 DP
- 性能分析到底是不是性能测试工程师的能力?
- 沪市A股,kdj指标,api接口,API接口
热门文章
- Verilog HDL可综合描述(高质量Verilog书写)
- strstr 函数介绍
- PHP中终止程序输出的exit和die
- Oracle Data Pump Full Transportable方式导入导出
- Surface3 2+64 wifi版本重装8.1系统(疑难解答中无从‘驱动器恢复‘选项,另一种方式成功)
- execjs调用第三方js库
- SecureBlackbox 2022细粒度控制的同时
- 基于最大似然估计(matlab实验)
- Java总结 - 中间件
- BP神经网络原理及Python实现