1

我已经从这里复制了这个例子,但我无法正常工作。

mkdir -p package/macosx
cp you_icon_app.icns package/macosx 
jdk=$(/usr/libexec/java_home)
$jdk/bin/javapackager -version
$jdk/bin/javapackager -deploy -native dmg \
   -srcfiles you_app.jar -appclass you_app_name -name you_app_name \
   -outdir deploy -outfile you_app_name -v
cp deploy/bundles/you_app_name-1.0.dmg you_app_name-installer.dmg

当我使用它时,我收到以下消息:

线程“main”com.sun.javafx.tools.packager.PackagerException 中的异常:错误:Bundler“DMG Installer”(dmg)无法生成捆绑包。

4

1 回答 1

0

我发现了问题。如果您运行 Javapackager,完成后它会打开输出 DMG:下次尝试时,它会失败,因为它无法创建 DMG(它已经打开了!)。

如果您在 Finder 中查看,您会在左侧找到标有设备的部分:任何打开的 DMG 都会出现在此处。您可以通过单击它们旁边的“弹出”符号来关闭它们。

我遇到的另一个问题是我错误地认为 Textedit 是一个文本编辑器,并且适合编辑我用来运行 javapackager 的 shell 脚本。它不是。它偷偷地将破折号更改为连字符(它们看起来相同,但 javapackager 不喜欢它们),如果您使用双引号,它会将每对中的第二个更改为反向引号。Java 打包器也不喜欢这些。

于 2016-04-13T18:13:32.880 回答