Подтвердить что ты не робот

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

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

  • Проверяет, установлена ​​ли JRE; если нет, он устанавливает JRE6 из Oracle. Кроме того, он обновляет установленную JRE до последней версии 1.6.x.
  • Создает короткую ссылку в меню "Пуск" (в Windows) или в папке "Приложения" (в MacOSX) в моем завершенном приложении и позволяет моему приложению работать с использованием вышеуказанного JRE
  • Поддерживает легкое "приложение для удаления" для Windows. Для Mac просто перетащите файл .app в корзину для удаления.

Дополнительные функции:

  • Поддержка значков приложений, независимых для платформы
  • Поддержка автоматического обновления банку
  • Поддержка аргументов JRE при запуске моего .jar
  • Поддержка Linux (.deb или .rpm)
4b9b3361

Ответ 1

Отъезд Package Maker для Mac и Advanced Installer для Windows.

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

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

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

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

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

Я считаю, что Package Maker является стандартом для Mac. Это довольно просто и удобно.

Удачи!

Ответ 2

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

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

Ответ 3

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

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

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

Ответ 4

Есть уже некоторые хорошие ответы, но я думаю, JavaWebStart. Разумеется, он подходит только для веб-приложений, но после установки. Ваше приложение также может работать автономно.

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

Что нужно учитывать:

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

Ответ 5

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

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

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