Как конвертировать файл JAR в DMG с помощью Javapackager 8, el Capitan

Я скопировал этот пример отсюда, но у меня проблемы с работой.

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: Ошибка: программе "DMG Installer" (dmg) не удалось создать пакет.

1 ответ

Я нашел проблему. Если вы запустите Javapackager, по завершении он оставит выходной DMG открытым: при следующей попытке произойдет сбой, поскольку он не может создать DMG (он уже открыт!).

Если вы загляните в Finder, вы найдете раздел, озаглавленный "Устройства" слева: все открытые DMG появятся здесь. Вы можете закрыть их, щелкнув по значку "Извлечь" рядом с ними.

Другая проблема, с которой я столкнулся, заключается в том, что я ошибочно предположил, что Textedit был текстовым редактором и подходит для редактирования скрипта оболочки, который я использовал для запуска javapackager. Это не. Он хитро меняет дефисы на дефисы (они выглядят одинаково, но javapackager их не любит), и если вы используете двойные кавычки, он заменяет вторую часть каждой пары на обратную кавычку. Java упаковщик тоже не любит.

Другие вопросы по тегам