Подключение точек из автономного приложения Java к установке Mac OS - PullRequest
0 голосов
/ 11 февраля 2019

Я не владелец Mac и прохожу ускоренный курс, чтобы освоить скорость (например, прочитав «Переключение на Mac»), чтобы показать вам мой текущий уровень понимания.Доступ к физическому Mac у меня ограничен, поэтому я пытаюсь подключить как можно больше точек до следующей сессии с компьютером моего друга.

У меня есть: папка файлов, содержащая все ресурсы, необходимые для автономного приложения, написанного на Java ( OpenJDK 11 , JavaFX 11 ).Инструмент JLINK был успешно использован для создания этой файловой папки, и он содержит все необходимые библиотеки Java, а также код, который я написал для приложения.Исполняемый файл находится в подпапке: / bin.Программа отлично работает на Mac при запуске исполняемого файла.

Я хочу: что-то, что легко скачать, установить и запустить.

Мне неясно, что нужно сделатьчтобы получить это.Дорожная карта, кажется, состоит из двух основных шагов:

  • папка с файлами должна быть преобразована во что-то, что отвечает, как если бы это было приложение (например, Bundle ? или .app?)

  • полученную папку как исполняемый файл можно отправить через .dmg или .pkg

ДляВо второй части я исследовал и нашел такие инструменты, как Packages или create-dmg .Мне кажется, что эти инструменты довольно просты и не должны быть слишком сложными в освоении.(Просто нужно выбрать один или другой или что-то подобное.)

Для первой части я нахожусь в шаткой концептуальной основе.Я нашел информацию о связках , но не было учебных пособий, пошаговых инструкций или примеров.Похоже, ключевым шагом является понимание того, как сделать правильный файл Info.plist , но сделать это правильно выглядит сложно.Кроме того, мне неясно, каким образом полученный Bundle станет файлом .app, или если это необходимо, или если есть другой, более прямой способ сделать мою папку с файлами видимой ОС как приложение.

Буду очень признателен за то, что вы держите в руках или ссылки на учебные пособия, или даже гарантируете, что я на правильном пути (если это так).Спасибо!

Руководство по развертыванию Java от Oracle в значительной степени опирается на ANT, но не охватывает случай автономной, настраиваемой JVM через JLINK, что мне достаточно для расшифровки.Итак, я применил подход, чтобы попытаться изучить / понять необходимые шаги с помощью команд командной строки.

1 Ответ

0 голосов
/ 28 февраля 2019

Хотя создание комплекта, безусловно, вариант, есть более простой способ.

Первый шаг - создать .app вручную.Ответ на этот вопрос: « Как сделать Mac OS X .app с помощью скрипта оболочки? » проходит через основные шаги.Файловая система Java, полученная в результате jlinking, имеет папку /bin, в которой есть файл bash, запускающий программу.Этот файл должен быть перемещен в крайнюю папку, и ему должно быть присвоено имя нужного приложения.Сам файл bash необходимо отредактировать и добавить «/ bin» к адресу в последней команде, чтобы найти исполняемый файл.Кроме того, сама папка должна быть переименована так, чтобы она соответствовала файлу bash, но с расширением .app добавлялось как расширение.

Следующим, что я хотел получить, был пользовательский значок.Вопрос « Включить значок в созданный вручную пакет приложения » показывает, как это сделать.

Для следующего шага я использовал программу «Пакеты».Я немного озадачен тем, откуда я это скачал (кажется, что есть несколько сайтов), но вот ссылка на руководство .Этот инструмент позволил мне создать файл .pkg, который при запуске устанавливает мой .app в папку «Приложения».Затем я сжал файл .pkg (в .zip) и сделал его доступным для загрузки по URL-адресу.

У меня был друг, который сделал тестовую загрузку и установку, и программа работает!

Это не полный учебник, и есть еще несколько шагов, которые яЯ хочу выяснить, что касается песочницы и запечатывания, но я считаю, что это разумный план, который можно использовать для более простых Java-приложений, связанных ссылками, для распространения на Mac.

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