Как связать приложение Java для Mac / Windows?

У меня есть Java .приложение jar, которое я хочу распространять своим клиентам, которые находятся на Mac или Windows. Я хочу использовать инструмент, который берет мой файл jar и обертывает его в a .dmg и a .exe-оболочка для Mac и Windows соответственно, что делает это при запуске:

  1. проверяет, установлен ли JRE; если нет, он устанавливает JRE6 из Oracle. В противном случае он обновляет установленную JRE до последней версии 1.6.X версии.
  2. создает короткую ссылку в меню "Пуск" (в Windows) или в папке " приложения (в MacOSX) для моего обернутого приложения и позволяет моему приложению работать с использованием вышеуказанного jre
  3. поддерживает простое "удаление приложения" для Windows. Для Mac, просто перетащите .app в корзину для удаления.

дополнительные характеристики:

  1. поддержка независимых от платформы значков приложений
  2. поддержка автоматического обновления jar
  3. поддержка аргументов для JRE при запуске my .Джар
  4. поддержка Linux (.деб или .об / мин)

5 ответов


проверить Упаковки Кофе для Mac и Расширенный Установщик для Windows.

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

Я не использовал их для автоматического обновления, но вам, вероятно, придется встроить эту логику в свое приложение.

не ожидал, что они сделают всю работу за вас.

ожидайте потратить довольно много времени на создание установщика для каждого платформа.

Я уверен, что есть много вариантов для Windows и Linux. Расширенный Установщик просто так получилось, что я использовал только один.

Я считаю Упаковки Кофе является стандартом для Mac. Это довольно удивительный и простой в использовании.

удачи!


Я исследовал это некоторое время, чтобы я мог установить приложение в Linux и Windows. Лучшей альтернативы я нашла -

вы можете найти информацию, как использовать его родных в этой blogpost. Но установка его в Linux заставила меня использовать a .сценарий sh. Что касается mac, то мои знания ограничены. Надеюсь, это поможет.


обратите внимание, что если вы разрабатываете приложение как приложение платформы netbeans, то netbeans будет производить кросс-платформенные установщики для вас (в том числе для mac).

тот факт, что его приложение netbeans мало влияет на внешний вид приложения, вы все равно можете заставить его вести себя почти так же, как любое отдельное приложение swing.

Это имеет следующие преимущества, что, я думаю, делает его убедительным вариантом: - межплатформенный - его бесплатно - не требовать установки JDK перед запуском программы установки - интегрирует процесс обновления программного обеспечения


уже есть несколько хороших ответов, но я думаю JavaWebStart необходимо упомянуть. Конечно, он подходит только для web deploment, но после установки ваше приложение также может работать в автономном режиме.

функции (автоматическое обновление, проверка версии JVM, значок рабочего стола) доступны.

вещи для рассмотрения:

  • ваше приложение должно быть опалено, чтобы иметь права доступа, как "нормальное" приложение.
  • afaik вы не можете отправьте приложение любым другим способом, кроме веб-загрузки.

для развертывания в Windows мне нравится использовать Launch4j для упаковки my application jar и создания собственного исполняемого файла Windows, который может обнаруживать и использовать уже установленную JRE или позволяет вам связывать свои собственные. Это быстрый, легкий и легко сценарий с Ant (или Maven) как часть вашего процесса сборки.

в сочетании с этим я обычно использую NSIS для создания установщика, который помещает ярлыки и позволяет устанавливать / удалять / восстанавливать из-под контроля Панель. С немного работы, это также может быть сценарий через Ant, а также может быть построен с платформы Linux.

эти решения, очевидно, не будут работать для развертывания Mac, но я подозреваю, что вам придется использовать разные инструменты для разных платформ, если вы хотите получить лучший опыт для конечных пользователей.