Файл, чтобы открыть терминал и запустить .jar в OSX? - PullRequest
4 голосов
/ 27 марта 2012

В настоящее время у меня есть небольшая текстовая игра, написанная на Java, в которой для вывода текста используется System.out.print();, а для получения ввода от пользователя - Scanner.

Я скомпилировал исполняемый файл .jar и использовал IExpress для создания .exe, который запускает пакетную команду java -jar "foo.jar" при выполнении. Это не лучший способ распространения игры, но это быстрый способ распространения ее среди друзей для тестирования игры в Windows.

Мне интересно, есть ли аналог для OSX? Я знаю, что могу написать сценарий оболочки, чтобы открыть терминал и выполнить файл .jar, но будет ли он работать, если сценарий оболочки и .jar будут распространяться на другие компьютеры? Должен ли каждый человек давать файлу .sh разрешение на «выполнение»? Некоторые из этих людей не очень разбираются в технологиях, и даже упоминание об открытии терминала отключит их, чтобы помочь мне сыграть в тест.

Так есть ли способ дать им что-то, чтобы дважды щелкнуть по нему, чтобы открыть терминал и запустить мой .jar?

Заранее спасибо!

1 Ответ

1 голос
/ 01 апреля 2012

Вот два возможных варианта (первый из которых, вероятно, не откроет терминал, но я ухожу здесь на случай, если вы найдете способ сделать это с помощью упомянутого ниже JarBundler)

1 - Сборка собственного пакета приложений Java и установщика

Ответ несколько двоякий. Приложения OSX имеют особую структуру каталогов, которую операционная система ожидает, они называются комплектами приложений (см. Запутанную сложную информацию в google для «Руководства программистов для комплектов приложений osx»). Jar Bundler - это задача Ant, которая может создать пакет для вас без необходимости понимания самого формата пакета.

Одного этого достаточно, чтобы вы могли перетащить приложение на док-станцию ​​OSX. Однако более распространенным является установщик. Чтобы создать установщик, вам нужно создать файл DMG. Хорошую документацию о том, как создать это с помощью ant , можно найти здесь .

Суть его в том, чтобы создать образ диска, прикрепить к нему, скопировать в него свое приложение, отсоединить от него и сжать его. Типичный установщик OSX - это окно с копией вашего приложения и символической ссылкой на каталог / Applications. Когда открывается окно установщика, оно отображает оба этих элемента, и вы обычно перетаскиваете приложение на значок / Applications, «устанавливая его» (на самом деле, просто копируя его в / Applications).

Ниже приведены соответствующие файлы сборки Ant из моего проекта для создания пакета приложения , а также построения файла DMG * ​​1018 * (оба являются ссылками Google-кода). Они не требуют никаких инструментов графического интерфейса.

Оба эти файла довольно сильно прокомментированы.

Однако я чувствую, что это не откроет окно терминала по вашему желанию (вы можете работать с опцией stubfile в JarBunder, чтобы заставить ее делать то, что вы хотите).

2 - Создайте пакет приложений из сценария оболочки

Эта ссылка показывает, как создать пакет приложения из сценария оболочки.

Затем вы можете создать файл DMG из пакета приложения, чтобы упростить установку для ваших пользователей. DMG-файл сохранит атрибуты исполняемого файла, поэтому им не потребуется вручную chmod +x ваш скрипт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...