You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过jpackage将安装目录作为参数传递给目标Jar文件?

不用中间Jar解决jpackage动态传递安装目录的方案

直接利用Windows内置变量%~dp0就能搞定,这个变量会自动获取生成的exe所在的绝对路径(也就是MSI的安装目录)。配置jpackage时,只需把--arguments参数设置为目标Jar需要的格式,用"%~dp0"替换固定路径:

jpackage --type msi --win-dir-chooser --input "C:\path\to\jar" --main-jar jarFile.jar --arguments "\"%~dp0\""

注意这里的转义处理:因为命令行中的引号需要转义,所以用\"包裹%~dp0,确保路径包含空格时也能正确传递。

用户通过MSI选择任意目录安装后,生成的exe运行时会自动把自身所在的安装目录作为参数传给目标Jar,完全不需要中间Jar中转,和手动执行java -jar jarFile.jar "安装目录"的效果完全一致。

内容的提问来源于stack exchange,提问作者hidden_machine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 10:10:25