Автор оригинала: Ganesh Pagade.
1. Обзор
В этом уроке мы рассмотрим новый инструмент упаковки, представленный в Java 14 , с именем package .
2. Введение
пакет это инструмент командной строки для создания собственных установщиков и пакетов для приложений Java.
Это функция инкубации в модуле jdk.incubator.package . Другими словами, параметры командной строки инструмента или макет приложения еще не стабильны. После стабилизации платформа Java SE или JDK включат эту функцию в LTE
3. Почему пакет?
Это стандартная практика при распространении программного обеспечения для доставки устанавливаемого пакета конечному пользователю. Этот пакет совместим с собственной платформой пользователя и скрывает внутренние зависимости и конфигурации установки. Например, мы используем файлы DMG в Mac OS и файлы MSI в Windows.
Это позволяет распространять, устанавливать и удалять приложения способом, знакомым нашим конечным пользователям.
package позволяет разработчикам создавать такой устанавливаемый пакет для своих файлов JAR. Пользователю не нужно явно копировать файл JAR или даже устанавливать Java для запуска приложения. Устанавливаемый пакет позаботится обо всем этом.
4. Обязательное условие Упаковки
Ключевыми предпосылками для использования команды package являются:
- Система, используемая для упаковки, должна содержать упаковываемое приложение, JDK и программное обеспечение, необходимое для инструмента упаковки.
И, он должен иметь базовые инструменты упаковки, используемые package :
- RPM, DEB в Linux: В Red Hat Linux нам нужен пакет rpm-build ; в Ubuntu Linux нам нужен пакет fakeroot
- PKG, DMG на macOS: инструменты командной строки Xcode требуются, когда параметр –mac-sign используется для запроса подписи пакета и когда параметр –icon используется для настройки образа DMG
- EXE, MSI в Windows: В Windows нам нужен сторонний инструмент WiX 3.0 или более поздней версии
- Наконец, пакеты приложений должны быть построены на целевой платформе. Это означает, что для упаковки приложения для нескольких платформ мы должны запустить инструмент упаковки на каждой платформе.
5. Создание пакета
Давайте создадим образец пакета для JAR-файла приложения. Как упоминалось в предыдущем разделе, JAR приложения должен быть предварительно построен, и он будет использоваться в качестве входных данных для инструмента package .
Например, мы можем использовать следующую команду для создания пакета:
jpackage --input target/ \ --name JPackageDemoApp \ --main-jar JPackageDemoApp.jar \ --main-class com.baeldung.java14.jpackagedemoapp.JPackageDemoApp \ --type dmg \ --java-options '--enable-preview'
Давайте рассмотрим каждый из используемых вариантов:
- –input : расположение входных файлов jar(ов)
- –name : дайте имя устанавливаемому пакету
- –main-jar : файл JAR для запуска при запуске приложения
- –main-class : имя основного класса в JAR для запуска при запуске приложения. Это необязательно, если файл MANIFEST.MF в основной банке содержит имя основного класса.
- –тип : какой установщик мы хотим создать? Это зависит от базовой ОС, на которой мы запускаем команду package . На macOS мы можем передать тип пакета как DMG или PKG. Инструмент поддерживает параметры MSI и EXE в Windows, а также параметры DEB и RPM в Linux.
- –java-options : параметры для передачи в среду выполнения Java
Приведенная выше команда создаст для нас файл JPackageDemoApp.dmg .
Затем мы можем использовать этот файл для установки приложения на платформу macOS. После установки мы сможем использовать приложение так же, как и любое другое программное обеспечение.
6. Заключение
В этой статье мы рассмотрели использование инструмента командной строки package , представленного в Java 14.