2012-05-23 3 views
22

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

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

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

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

Я чувствую, что Package Maker и Advanced Installer могут делать все, о чем вы просите. Я не думаю, что вы найдете один инструмент, который будет работать как для Windows, так и для Mac. Возможно, вам понадобится что-то отдельное для управления пакетами. Если вы сообщите нам, какие из ваших требований не были удовлетворены с помощью Package Maker, Advanced Installer или того, что вы пробовали, мы, вероятно, сможем помочь. – jahroy

+0

Обратите внимание, что jre 1.6 доступен только для загрузки и обновления программного обеспечения от Apple. 1.7 доступен от Oracle. – Mark

+0

Я не знаю, каков ваш бюджет, но посмотрите: [InstallAnywhere Flexera Software] (http://www.flexerasoftware.com/products/installanywhere.htm) – msiyer

ответ

8

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

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

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

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

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

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

Я считаю Производитель упаковки является стандартом для Mac. Это довольно просто и удобно.

Удачи вам!

0

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

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

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

1

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

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

1

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

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

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

1

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

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

Вещи рассмотреть:

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