Рубрики
Без рубрики

Руководство по SDKMAN!

Узнайте, как управлять несколькими версиями SDK Java среди других инструментов экосистемы Java с помощью SDKMAN!

Автор оригинала: baeldung.

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”.:

Диалог структуры проекта в IntelliJ

Мы также можем определить версию Java, Gradle или Maven для использования в разделе “Инструменты сборки”.:

Конфигурация Maven в IntelliJ

Совет: Версия Java должна быть такой же, как и в “Project SDK” для Gradle или Maven.

6.2. Затмение

В Eclipse откройте “Свойства проекта”, выберите “Путь сборки Java”, а затем перейдите на вкладку “Библиотеки”. Здесь мы можем управлять новым SDK Java с помощью “Добавить библиотеку…” и следуя инструкциям:

Управление библиотеками в Eclipse

Мы также можем контролировать установленные SDK для всех проектов. Откройте “Настройки” в меню “Окно”, а затем перейдите в раздел “Установленные JRES”. Здесь мы можем управлять SDK Java с помощью “Добавить…” и следуя инструкциям:

Установлен JRES в Eclipse

7. Заключение

В этом уроке мы показали, как SDKMAN! может помочь нам в управлении различными версиями SDK Java среди других инструментов среды Java, таких как Maven.