如何使用JPackage将文件放入含launcher.exe的安装包根目录?
用jpackage将文件放到exe安装根目录的解决方法
要让额外文件和launcher.exe同级(安装根目录),可以用以下几种方法实现你想要的目录结构:
方法一:通过--files参数直接指定目标路径
jpackage的--files参数支持用@符号映射源文件到安装后的目标路径,直接把文件放到根目录:
jpackage --type exe --name MyApp --main-jar MyApp.jar --files ./你的额外文件.txt@./你的额外文件.txt ./另一个文件.png@./另一个文件.png
这里@前面是本地待打包的文件路径,后面是安装后相对于根目录的路径,这样文件就会被放到Name-Root-folder根目录下。
方法二:自定义资源目录配置安装布局
- 创建一个资源目录(比如
jpackage-res),在里面新建win子目录。 - 在
win目录下创建installer.cfg文件,添加文件映射配置:
[Files] ./本地路径/文件1.doc=./文件1.doc ./本地路径/文件2.zip=./文件2.zip
- 运行jpackage时指定资源目录:
jpackage --type exe --name MyApp --main-jar MyApp.jar --resource-dir jpackage-res
方法三:临时目录手动调整后再打包
- 先生成临时安装内容,指定临时目录:
jpackage --type exe --name MyApp --main-jar MyApp.jar --temp ./temp-build
- 把需要放到根目录的文件复制到
./temp-build/MyApp目录下(这个目录对应安装后的根目录)。 - 基于修改后的临时目录生成最终安装程序:
jpackage --type exe --name MyApp --main-jar MyApp.jar --temp ./temp-build --dest ./installer-output
内容的提问来源于stack exchange,提问作者Albert Einstein
相关产品推荐
相关产品推荐

