3

在 macOS 上, Oracle实用程序文档-Bmac.CFBundleVersion=<value>中指定的命令行选项不起作用。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正确读取了设置 key 值的命令行选项-BappVersion=2.0CFBundleShortVersionString但未能读取-Bmac.CFBundleVersion=2.0.0设置 key 值的命令行选项CFBundleVersion

<key>CFBundleShortVersionString</key>
<string>2.0</string>
<key>CFBundleVersion</key>
<string>100</string>
4

1 回答 1

0

我使用的是 Java SE Development Kit 8 的旧版本(更新 25)。我从 Oracle 网站 (jdk-8u121-macosx-x64.dmg) 下载并安装了最新版本(更新 121),它解决了问题。谢谢@Nicolas Filotto。

于 2017-04-08T20:57:18.097 回答