Преобразовать .jar в исполняемый файл OSX?
Я сделал приложение Java, которое я хотел бы распространять на Windows, OSX и Linux без распространения файла jar. Я использовал большую оболочку exe exe http://launch4j.sourceforge.net/, чтобы создать файл .exe с моим значком, который не пугает пользователей Windows.
Существуют ли подобные оболочки, которые я могу использовать для OSX/Unix? Важным соображением является то, что я хотел бы иметь свой собственный значок в исполняемом файле (особенно для пользователей Mac).
Спасибо!
Ответы
Ответ 1
Да, в Mac OS X есть программа под названием Jar Bundler, которая устанавливается, когда вы устанавливаете бесплатный (при условии, что у вас уже есть копия Mac OS X) Xcode Developer Tools, который позволяет вам объединять JAR файл внутри встроенного пакета приложений Mac OS X *.app. красивый и блестящий значок, как и другие приложения.
Update
Пакет JAR не существует в более поздних версиях OS X. В качестве обходного пути вы можете вручную создать проект OS X, который вызывает Java. Или существует множество расширений системы сборки, которые делают подобную вещь; например, плагин gradle-macappbundle для Gradle создаст такое приложение-оболочку.
Ответ 2
Если у вас нет Mac для его создания (или хотите интегрировать его в существующую цепочку сборки), вам может потребоваться посмотреть OS X Application Bundle Plugin для Maven.
Это будет (если выполняется в Linux или Windows), создайте почтовый индекс, который будет распаковываться как подходящее приложение Mac. Если вы запустите Maven на Mac, он также может сделать DMG.
Ответ 3
JarBundler устарел, но есть (лучше) официальная замена: инструмент javapackager.
Для OSX, простой, хорошо объясненный шаг за шагом учебник о том, как создать DMG из java, можно найти здесь: http://centerkey.com/mac/java/. Для других платформ вам просто нужно изменить пример, используя соответствующие переключатели в javapackager.
Ответ 4
Вы также можете упаковать свое приложение с помощью задачи JarBundler Ant:
http://informagen.com/JarBundler
<jarbundler dir="release"
name="MyApp"
mainclass="org.foo.myapp.Main"
jar="myapp.jar" />
Ответ 5
Пользователь Github Jorl17 создал отличный Python script, называемый jar2app, который делает это с помощью одной простой команды. Он даже позволяет вам настроить значок приложения.
https://github.com/Jorl17/jar2app
Просто установите его, следуйте инструкциям и получите файл .app.