1

この例を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

使用すると、次のメッセージが表示されます。

スレッド「メイン」での例外 com.sun.javafx.tools.packager.PackagerException: エラー: バンドラー「DMG インストーラー」(dmg) がバンドルを生成できませんでした。

4

1 に答える 1

0

問題が見つかりました。Javapackager を実行すると、完了時に出力 DMG が開いたままになります。次に実行しようとすると、DMG を作成できないため失敗します (既に開いています!)。

Finder を見ると、左側に [デバイス] というラベルの付いたセクションがあります。開いている DMG はすべてここに表示されます。それらの横にあるイジェクト記号をクリックすると、それらを閉じることができます。

私が抱えていたもう 1 つの問題は、Textedit がテキスト エディターであり、javapackager の実行に使用していたシェル スクリプトの編集に適していると誤って想定していたことです。そうではありません。ダッシュをこっそりとハイフンに変更し (同じように見えますが、javapackager は好きではありません)、二重引用符を使用すると、各ペアの 2 番目を逆引用符に変更します。Java パッケージャーもそれらを好まない。

于 2016-04-13T18:13:32.880 に答える