1. Обзор
С новым циклом выпуска Java разработчикам может потребоваться управлять параллельными версиями и различными сборками наборов разработки программного обеспечения (SDK) в своей среде. Поэтому установка переменной PATH иногда может стать настоящей болью.
В этом уроке мы увидим, как КТО-то! может помочь легко управлять установкой и выбором SDK.
2. Что Такое SDKMAN!?
СДКМАН! это инструмент для управления параллельными версиями нескольких SDK, которые SDKMAN! вызовите “кандидатов” .
Он предоставляет удобный интерфейс командной строки (CLI) и API для перечисления, установки, переключения и удаления кандидатов. Кроме того, он заботится о настройке переменных окружения для нас.
Он также позволяет разработчикам устанавливать SDK на основе JVM, такие как Java, Groovy, Scala, Kotlin и Ceylon. Также поддерживаются Maven, Gradle, SBT, Spring Boot, Vert.x и многие другие. SDKMAN! это бесплатная, легкая утилита с открытым исходным кодом, написанная на языке Bash.
3. Установите SDKMAN!
СДКМАН! поддерживается всеми основными операционными системами, и его можно легко установить на все системы на базе Unix. Кроме того, он поддерживает оболочки Bash и Zsh.
Итак, давайте начнем с его установки с помощью терминала:
$ curl -s "https://get.sdkman.io" | bash
Затем следуйте инструкциям на экране, чтобы завершить установку.
Возможно, нам потребуется установить пакеты zip и unzip для завершения процесса установки.
Затем откройте новый терминал или запустите:
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
Наконец, выполните следующую команду, чтобы убедиться, что установка работает. Если все прошло хорошо, версия должна быть отображена:
$ sdk version SDKMAN 5.8.5+522
Для получения дополнительной информации о настройке, пожалуйста, обратитесь к руководству по установке на SDKMAN! вебсайт.
Чтобы просмотреть все доступные команды, используйте команду help :
$ sdk help
4. Перечислите Всех Кандидатов SDK
Итак, давайте начнем с перечисления всех доступных кандидатов на SDK.
$ sdk list
Команда list показывает всех доступных кандидатов, идентифицированных уникальным именем, описанием, официальным веб-сайтом и командой установки:
===================================================== Available Candidates ===================================================== q-quit /-search down j-down ?-search up k-up h-help ----------------------------------------------------- Java (11.0.7.hs-adpt) https://zulu.org ... $ sdk install java ----------------------------------------------------- Maven (3.6.3) https://maven.apache.org ... $ sdk install maven ----------------------------------------------------- Spring Boot (2.3.1.RELEASE) http://spring.io ... $ sdk install springboot ------------------------------------------------------ ...
Поэтому мы можем использовать этот идентификатор для установки версии кандидата по умолчанию, такой как Spring Boot (2.3.1.RELEASE) или Maven (3.6.3). Указанные версии в этом списке представляют стабильные или LTS-версии каждого SDK.
5. Установка версий Java и управление ими
5.1. Список версий
Чтобы перечислить доступные версии Java, используйте команду list . Результатом является таблица записей, сгруппированных по поставщику и отсортированных по версии:
$ sdk list java =================================================================== Available Java Versions =================================================================== Vendor | Use | Version | Dist | Status | Identifier ------------------------------------------------------------------- AdoptOpenJDK | | 14.0.1 | adpt | | 14.0.1.j9-adpt ... Amazon | | 11.0.8 | amzn | | 11.0.8-amzn ... Azul Zulu | | 14.0.2 | zulu | | 14.0.2-zulu ... BellSoft | | 14.0.2 | librca | | 14.0.2.fx-librca ... GraalVM | | 20.1.0 | grl | | 20.1.0.r11-grl ... Java.net | | 16.ea | open | | 16.ea.6-open ... SAP | | 14.0.2 | sapmchn | | 14.0.2-sapmchn ...
Эта команда понадобится нам каждый раз, когда мы захотим проверить, переключить или управлять хранилищем кандидатов.
5.2. Установите версию Java
Допустим, мы хотим установить новейшую сборку Java 14 от Azul Zulu. Поэтому мы копируем его идентификатор, который является версией из таблицы, и добавляем его в качестве аргумента в команду install :
$ sdk install java 14.0.2-zulu Downloading: java 14.0.2-zulu In progress... ########### 100.0% Repackaging Java 14.0.2-zulu... Done repackaging... Installing: java 14.0.2-zulu Done installing! Setting java 14.0.2-zulu as default.
СДКМАН! загрузит и распакует эту версию в каталог на вашем компьютере.
Кроме того, он обновит переменные среды, чтобы мы могли немедленно использовать Java в терминале.
Мы можем проверить состояние и использование любой версии с помощью команды list . Следовательно, версия 14.0.1 i s теперь установлена и используется:
$ sdk list java ================================================================= Available Java Versions ================================================================= Vendor | Use | Version | Dist | Status | Identifier ----------------------------------------------------------------- ... Azul Zulu | >>> | 14.0.1 | adpt | installed | 14.0.1.j9-adpt ...
Кроме того, можно установить Java или любую пользовательскую версию с компьютера с помощью той же команды, но указав путь к двоичным файлам в качестве дополнительного аргумента:
$ sdk install java custom-8 ~/Downloads/my-company-jdk-custom-8
5.3. Переключение Между Версиями
Мы можем контролировать переключение между версиями в двух формах, временно:
$ sdk use java 14.0.1.j9-adpt
или навсегда:
$ sdk default java 14.0.1.j9-adpt
5.4. Удалить версию
Чтобы удалить установленную версию, выполните команду uninstall с целевой версией:
$ sdk uninstall java 14.0.1.j9-adpt
5.5. Отображение используемых версий
Чтобы проверить текущую версию Java, мы запускаем команду current :
$ sdk current java Using java version 14.0.2-zulu
Аналогично, последняя команда имеет тот же эффект, что и:
$ java -version
Чтобы показать версию по SDK на вашем компьютере, мы можем запустить команду current без аргументов:
$ sdk current Using: java: 14.0.2-zulu gradle: 6.2.2
6. Использование SDKMAN! с ИДЕЕЙ
Установленные SDK хранятся в SDKMAN! каталог, который по умолчанию имеет значение ~/.sdkman/кандидаты .
Например, различные версии Java также будут доступны в каталоге ~/.sdkman/кандидаты/java/ , а подкаталоги будут названы в честь версий:
$ ls -al ~/.sdkman/candidates/java/ total 0 drwxrwxrwx 1 user user 12 Jul 25 20:00 . drwxrwxrwx 1 user user 12 Jul 25 20:00 .. drwxrwxr-x 1 user user 12 Jul 25 20:00 14.0.2-zulu lrwxrwxrwx 1 user user 14 Jul 25 20:00 current -> 14.0.2-zulu
Таким образом, выбранная в данный момент версия Java также будет доступна как текущая в этом каталоге.
В том же духе Gradle или любой другой SDK будет установлен в каталоге кандидаты .
Таким образом, мы можем использовать любую конкретную версию Java, например, в нашей любимой IDE. Все, что нам нужно сделать, это скопировать путь к определенной версии и установить его в конфигурации нашей ИДЕИ.
6.1. ИДЕЯ IntelliJ
В IntelliJ IDEA откройте “Структура проекта”, затем откройте “Настройки проекта”. В конфигурации проекта мы можем добавить новую версию Java, выбрав “New…” в разделе “Project SDK”.:
Мы также можем определить версию Java, Gradle или Maven для использования в разделе “Инструменты сборки”.:
Совет: Версия Java должна быть такой же, как и в “Project SDK” для Gradle или Maven.
6.2. Затмение
В Eclipse откройте “Свойства проекта”, выберите “Путь сборки Java”, а затем перейдите на вкладку “Библиотеки”. Здесь мы можем управлять новым SDK Java с помощью “Добавить библиотеку…” и следуя инструкциям:
Мы также можем контролировать установленные SDK для всех проектов. Откройте “Настройки” в меню “Окно”, а затем перейдите в раздел “Установленные JRES”. Здесь мы можем управлять SDK Java с помощью “Добавить…” и следуя инструкциям:
7. Заключение
В этом уроке мы показали, как SDKMAN! может помочь нам в управлении различными версиями SDK Java среди других инструментов среды Java, таких как Maven.