javapackager 中损坏的 -Bmac.CFBundleVersion 选项
Broken -Bmac.CFBundleVersion option in javapackager
在 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
从菜单栏中的 "About Application" 项打开的弹出窗口 window 显示以下字符串:
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 开发工具包 8 的旧版本(更新 25)。我从 Oracle 网站(jdk-8u121- macosx-x64.dmg) 它解决了问题。谢谢@Nicolas Filotto。
在 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
从菜单栏中的 "About Application" 项打开的弹出窗口 window 显示以下字符串:
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 开发工具包 8 的旧版本(更新 25)。我从 Oracle 网站(jdk-8u121- macosx-x64.dmg) 它解决了问题。谢谢@Nicolas Filotto。