Создайте комплект приложений OSX для программы Java без интерфейса пользователя, оставаясь в Dock во время работы приложения

Сегодня я попытался создать свой первый комплект приложений OSX для приложения Java. Это работает, но есть одна проблема, и я не мог найти никакого решения для этого.

Приложение Java - это веб-сервер без пользовательского интерфейса. Что происходит, когда я запускаю пакет приложений, следующее:

  • Значок приложения несколько раз подпрыгивает в Dock, а затем исчезает (я думаю, потому что графический интерфейс не отображается?).
  • Тем не менее, приложение все еще работает. Веб-сервер доступен, и я могу увидеть запущенное приложение в Activity Monitor и остановить его оттуда.

Основная цель этого пакета приложений - предоставить демонстрационное приложение людям, которые заинтересованы в опробовании сервера - без каких-либо настроек и т. Д.

Приложение должно оставаться в Dock, и пользователи должны иметь возможность закрыть (остановить) сервер в Dock.

Я полагаю, что это может быть каким-то образом настраивается в Info.plist, но не имею никакого опыта с этим. Или, возможно, я могу сделать что-то еще, чтобы добиться желаемого поведения?

Спасибо за любые идеи или советы.

1 ответ

Решение

Я нашел ответ на эту проблему сегодня:

Я не заметил этого при копировании деталей конфигурации в Jar Bundler от Apple, но у меня было это в параметре VMOptions (файл Info.plist):

<key>Java</key>
<dict>
    [...]
    <key>VMOptions</key>
    <string>-Djava.awt.headless=true</string>
    [...]
</dict>

Переходя -Djava.awt.headless=true к Java VM была проблема. После удаления этого параметра приложение вело себя так, как я хотел. В нем нет окна, но есть простое меню с опцией выхода, так что пользователи могут легко остановить приложение.

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