Ръководство за SDKMAN!

1. Общ преглед

С новия цикъл на издаване на Java, разработчиците може да се наложи да управляват паралелни версии и различни компилации на комплекти за разработка на софтуер (SDK) в тяхната среда. Така че настройването на променливата PATH понякога може да се превърне в истинска болка.

В този урок ще видим как SDKMAN! може да ви помогне да управлявате лесно инсталирането и избора на SDK.

2. Какво е SDKMAN !?

SDKMAN! е инструмент за управление на паралелни версии на множество SDK, които SDKMAN! наречете „кандидати“ .

Той осигурява удобен интерфейс за команден ред (CLI) и API за изброяване, инсталиране, превключване и премахване на кандидати. Нещо повече, той се грижи за задаването на променливи на средата за нас.

Той също така позволява на разработчиците да инсталират базирани на JVM SDK като Java, Groovy, Scala, Kotlin и Ceylon. Поддържат се също Maven, Gradle, SBT, Spring Boot, Vert.x и много други. SDKMAN! е безплатна, лека програма с отворен код, написана на Bash.

3. Инсталирайте SDKMAN!

SDKMAN! се поддържа от всички основни операционни системи и може лесно да се инсталира на всички базирани на Unix системи. Освен това поддържа Bash и Zsh черупки.

Така че нека започнем с инсталирането му с помощта на терминала:

$ curl -s "//get.sdkman.io" | bash

След това следвайте инструкциите на екрана, за да завършите инсталацията.

Може да се нуждаем от инсталираните zip и unzip пакети, за да завършим инсталационния процес.

След това отворете нов терминал или изпълнете:

$ source "$HOME/.sdkman/bin/sdkman-init.sh"

И накрая, изпълнете следната команда, за да се уверите, че инсталацията е работила. Ако всичко е минало добре, трябва да се покаже версията:

$ sdk version SDKMAN 5.8.5+522 

За повече персонализация вижте ръководството за инсталиране на SDKMAN! уебсайт.

За да видите всички налични команди, използвайте командата за помощ :

$ sdk help

4. Избройте всички кандидати за SDK

И така, нека започнем, като изброим всички налични кандидати за SDK.

$ sdk list 

В списъка команда показва всички налични кандидати, определени от уникално име, описанието, на официалния сайт, и командата за инсталация:

===================================================== Available Candidates ===================================================== q-quit /-search down j-down ?-search up k-up h-help ----------------------------------------------------- Java (11.0.7.hs-adpt) //zulu.org ... $ sdk install java ----------------------------------------------------- Maven (3.6.3) //maven.apache.org ... $ sdk install maven ----------------------------------------------------- Spring Boot (2.3.1.RELEASE) //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. Затова копираме идентификатора му, който е версията от таблицата, и го добавяме като аргумент в командата за инсталиране :

$ 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. 

SDKMAN! ще изтегли и разархивира тази версия в директория на нашия компютър.

Нещо повече, той ще актуализира променливите на средата, така че да можем веднага да използваме Java в терминала.

Можем да проверим състоянието и използването на всяка версия, като използваме командата list . Следователно версията 14.0.1 i е вече инсталирана и се използва:

$ 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. Премахнете версия

За да премахнете инсталирана версия, изпълнете командата за деинсталиране с целевата версия:

$ sdk uninstall java 14.0.1.j9-adpt 

5.5. Показване на използваните версии

За да проверим текущата версия на Java, изпълняваме текущата команда:

$ sdk current java Using java version 14.0.2-zulu 

По същия начин последната команда има същия ефект като:

$ java -version 

За да покажем версията от SDK на нашата машина, можем да изпълним текущата команда без аргументи:

$ sdk current Using: java: 14.0.2-zulu gradle: 6.2.2 

6. Използване на SDKMAN! с IDE

Инсталираните 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 ще бъде инсталиран в директорията на кандидатите .

In this way, we can use any particular version of Java, for example in our favorite IDE. All we have to do is to copy the path of a specific version and set it in the configuration of our IDE.

6.1. IntelliJ IDEA

In IntelliJ IDEA, open “Project Structure”, then open “Project Settings”. In the project configuration, we can add a new Java version by selecting “New…” from the “Project SDK” section:

We can also define the version of Java, Gradle, or Maven to use in the “Build Tools” section:

Tip: The version of Java must be the same as used in “Project SDK” for Gradle or Maven.

6.2. Eclipse

In Eclipse open “Project Properties”, select “Java Build Path”, and then switch to the “Libraries” tab. Here, we can manage the new SDK of Java via “Add Library…” and by following the instructions:

Също така можем да контролираме инсталираните SDK за всички проекти. Отворете „Предпочитания“ в меню „Прозорец“ и след това отидете на „Инсталирани JRE“. Тук можем да управляваме SDK на Java чрез „Добавяне ...“ и следвайки инструкциите:

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

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