Share This
Связаться со мной
Крути в низ
Categories
//Как в Java создавать собственные установочные пакеты JDK

Как в Java создавать собственные установочные пакеты JDK

Демонстрируем одну из новых возможностей Java 14 – создание нативных установочных версий JDK. Обсудить

kak v java sozdavat sobstvennye ustanovochnye pakety jdk 1196b69 - Как в Java создавать собственные установочные пакеты JDK

На протяжении большей части своей истории дистрибутивы Java Runtime Environments под Windows были традиционно упакованы в формат EXE. Этот понятный и простой способ установки Java подходит не для всех. Исполняемые файлы не всегда хорошо работают там, где используются такие инструменты, как Microsoft SCCM и подобные альтернативы. Более предпочтительным вариантом является формат MSI. Эквивалентами в мире Linux и OS X являются RPM/DEB и DMG.

Чтобы решить проблему, некоторые организации стали выпускать собственные версии MSI. Например, Oracle предоставляет корпоративный установщик MSI для клиентов по подписке Java SE с выпусками Oracle JDK 7 и JDK 8.

В JDK 14 появился модуль jdk.incubator.jpackage, устраняющий описанные неудобства. Полный перечень его возможностей можно почитать в официальном хелпе, а здесь мы рассмотрим создание собственных инсталлеров MSI, DEB, RPM, DMG.

Примеры

Для Windows будем использовать Oracle JDK 14, расположенный в папке D:jdk-14. Следующая команда создаст MSI-файл JDK 14, в котором имя и вендор указываются при помощи аргументов -n и --vendor:

         D:>  jdk-14binjpackage -n jdk-14-GA --type msi --vendor "Joe Schmo" --runtime-image jdk-14     

Существуют дополнительные ключи, которые могут быть полезны для дальнейшей настройки полученного пакета. В результате выполнения команды создается файл с именем jdk-14-GA-1.0.msi. После установки он появится в системном реестре и будет выглядеть так:

kak v java sozdavat sobstvennye ustanovochnye pakety jdk c7ea20b - Как в Java создавать собственные установочные пакеты JDK

Для Linux мы возьмем дистрибутив OpenJDK 14. Приведем две команды для создания пакетов DEB и RPM:

         $ jdk-14/bin/jpackage -n openjdk-14-GA --type deb --vendor "Joe Debian" --runtime-image jdk-14     

на выходе получим файл: openjdk-14-ga_1.0-1_amd64.deb

         $ jdk-14/bin/jpackage -n openjdk-14-GA --type rpm --vendor "Joe RedHat" --runtime-image jdk-14     

получили файл: openjdk-14-ga_1.0-1.x86_64.rpm

В Ubuntu openjdk-14-ga_1.0-1_amd64.deb можно установить и проверить с помощью утилиты dpkg:

kak v java sozdavat sobstvennye ustanovochnye pakety jdk d8a060d - Как в Java создавать собственные установочные пакеты JDK

Заключение

Стоит отметить два момента:

  • Кросс-платформенные пакеты больше не нужны: запускайте jpackage на той же платформе, для которой хотите создать дистрибутив.
  • Java Packaging Tool находится на стадии разработки, а «инкубаторные» модули передают технологию в руки разработчиков до окончательной доработки. Это значит – ожидайте дальнейших усовершенствований API jpackage.

Материалы по теме:

  • Java Records. Не музыкальный лейбл, а расширение возможностей языка
  • 10 популярных вопросов с Java-собеседований
  • 5 книг для Enterprise Java разработчика

  • 10 views
  • 0 Comment

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

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

Связаться со мной
Close