如何使用Javapackager 8,capitan

时间:2016-04-12 14:28:33

标签: java osx-elcapitan javapackager

我已从here复制了此示例,但我无法上班。

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)无法生成包。

1 个答案:

答案 0 :(得分:0)

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

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

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