如何在jpackage制作的Mac/Windows安装包中设置应用开机自启
实现jpackage打包应用的开机自动启动
Windows(MSI安装包)
在现有jpackage命令中添加--win-startup-shortcut参数即可,这个参数会在系统启动文件夹创建应用快捷方式,实现开机自启。修改后的命令:
jpackage --name Test --input . --main-jar test.jar --type msi --mac-package-identifier com.test.Main --win-startup-shortcut
安装后,用户可通过任务管理器的「启动」面板管理该自启项。
macOS(PKG安装包)
macOS的开机自启依赖Launch Agent配置,需额外创建plist文件并通过jpackage打包:
- 新建
com.test.Main.plist文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.test.Main</string> <key>ProgramArguments</key> <array> <string>/Applications/Test.app/Contents/MacOS/Test</string> </array> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <false/> </dict> </plist>
- 创建
resources目录,将上述plist放入其中。 - 修改jpackage命令,加入
--resource-dir resources参数(确保plist被打包到正确路径):
jpackage --name Test --input . --main-jar test.jar --type pkg --mac-package-identifier com.test.Main --resource-dir resources --mac-package-name Test
安装后,plist会被部署到~/Library/LaunchAgents,系统开机时自动启动应用。用户可在「系统设置」→「通用」→「登录项」中管理该自启项。
内容的提问来源于stack exchange,提问作者Rutvik Joshi
相关产品推荐
相关产品推荐

