【问题标题】:Broken -Bmac.CFBundleVersion option in javapackagerjavapackager 中的 -Bmac.CFBundleVersion 选项损坏
【发布时间】:2017-08-23 23:50:16
【问题描述】:

在 macOS 上,在 Oracle javapackager 实用程序的 documentation 中指定的命令行选项 -Bmac.CFBundleVersion=<value> 不起作用。

我正在使用以下命令从Application.jar创建磁盘映像Application.app

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的值,但是未能读取命令行选项@ 987654333@设置键CFBundleVersion的值:

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

【问题讨论】:

  • 无法复现,你用最新的JDK 8测试了吗?

标签: java macos deployment version javapackager


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-26
    • 1970-01-01
    相关资源
    最近更新 更多