Каков наилучший способ упаковки программного обеспечения Java для работы в Windows? - PullRequest
2 голосов
/ 08 июля 2010

Каков наилучший способ упаковки программного обеспечения Java для работы в Windows?Существует ли стандарт для записи файлов .BAT, который может обнаружить последнюю установленную JRE на компьютере?Есть ли для этого плагины Maven?Как обстоят дела с исполняемыми файлами Jar?

Ответы [ 4 ]

3 голосов
/ 08 июля 2010

Я бы без сомнения рекомендовал вам использовать Java Web Start, поскольку он позволяет легко контролировать используемую версию (и, безусловно, более простой в использовании механизм обновления, доступный в настоящее время).

3 голосов
/ 08 июля 2010

Зависит от того, что вам нужно.

Мы обнаружили, что использование One-JAR + JSmooth дает очень хороший пользовательский опыт, поскольку позволяет нам распространять один EXE-файл, который можно поместить в любое местопользовательская система, в отличие от установочных двоичных файлов, которые должны быть установлены и удалены и т. д. и т. д. и т. д. JSMooth проверяет наличие соответствующей среды выполнения Java и перенаправляет на официальный сайт загрузки, если ничего не найдено.

Причина One-jar в том, что вам обычно нужно использовать библиотечные jar-файлы, которые лучше всего иметь отдельно, но JSmooth допускает только один файл jar.

Кроме того, One-Jar SDK и JSmooth поддерживают сценариибез привязки к Windows, поэтому мы можем создавать новые версии на нашем движке Hudson, работающем под Linux.

1 голос
/ 08 июля 2010

В прошлом я использовал пакет установки Java, такой как launchForJ. Однако многие из этих пакетов используют Java, поэтому вам может потребоваться пакетный или простой исполняемый файл, написанный на собственном коде Windows, который быстро проверяет, установлена ​​ли Java, а затем запускает установщик.

Поскольку Java использует системные переменные во время установки, вы сможете проверить, существует ли требуемая версия (или выше) таким образом.

0 голосов
/ 08 июля 2010

Стандартным способом было бы использовать Java Web Start .

Используя технологию Java Web Start, автономные программные приложения Java могут быть развернуты одним щелчком мыши по сети. Java Web Start гарантирует, что будет развернута самая последняя версия приложения, а также правильная версия Java Runtime Environment (JRE)

Maven имеет плагин Webstart Maven , помогающий создавать пакеты приложений, которые можно развернуть через Web Start.

Альтернативным решением было бы использование кроссплатформенного генератора установщика для генерации установщика. Мне лично нравится IzPack (я думаю, что JSmooth очень похож, но у меня больше опыта работы с IzPack), и, если вы специально ориентируетесь на платформу Windows, вы можете использовать IzPack для Build [a] Native Установщики Windows с установленной программой запуска IzPack :

Проблема с IzPack по-прежнему возникает, когда целевая система не имеет JRE установлены. Пользователь должен сначала установите его и запустите IzPack Установщик. Это не проблема с Пользователи Linux или BSD, так как они в целом квалифицированные, и они знают, как сделать это вручную или с помощью упаковки система (RPM, DEB, ebuilds, порты, ...). Аналогично, пользователь Mac OS X будет не так много проблем, так как доступно с операционной системой. Однако ситуация более сложный на платформе Windows, как JRE должен быть установлен. Хуже, несколько экземпляров могут быть установлены в иногда грязная ситуация.

Пусковая установка IzPack пытается решить эту проблему. Это родной язык C ++ приложение, которое доступно под очень разрешительная лицензия MIT и который использует wxWidgets для графического интерфейса. это Таким образом, кроссплатформенный (для историки: это было впервые разработано на коробку FreeBSD), но большинство людей нужно это на винде. Он использует простой файл конфигурации и будет первым проверить на JRE. Если ничего не может быть найдено, появится диалоговое окно, чтобы пользователь выбирает между следующим опции:

  • указать местоположение JRE вручную
  • скачать один из интернета
  • установить тот, который предоставляется упаковщиком (если имеется).

IzPack также предлагает Maven Plugin . Стоит чек.

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