在macOS上,在Oracle -Bmac.CFBundleVersion=<value>
实用程序的documentation中指定的命令行选项javapackager
不起作用。
我正在使用以下命令从Application.app
创建磁盘映像Application.jar
:
javapackager \
-deploy \
-native image \
-srcfiles Application.jar \
-outdir dist \
-outfile Application \
-appclass Application \
-BappVersion=2.0 \
-Bmac.CFBundleVersion=2.0.0 \
-BjvmOptions=-Dapple.laf.useScreenMenuBar=true
从菜单栏中的“关于应用程序”项打开的弹出窗口显示以下字符串:
Application
Version 2.0 (100)
代替
Application
Version 2.0 (2.0.0)
当我检查生成的
Application.app/Contents/Info.plist
文件时,看到javapackager
正确读取了命令行选项-BappVersion=2.0
来设置键CFBundleShortVersionString
的值,但是却无法读取命令行选项-Bmac.CFBundleVersion=2.0.0
来设置键CFBundleVersion
的值:<key>CFBundleShortVersionString</key>
<string>2.0</string>
<key>CFBundleVersion</key>
<string>100</string>
最佳答案
我使用的是Java SE Development Kit 8的旧版本(更新25)。我从Oracle网站(jdk-8u121-macosx-x64.dmg)下载并安装了最新版本(更新121),它解决了问题。谢谢@Nicolas Filotto。