Vejledning til SDKMAN!

1. Oversigt

Med den nye frigivelsescyklus af Java skal udviklere muligvis styre parallelle versioner og forskellige builds af Software Development Kits (SDK) i deres miljø. Så indstilling af PATH-variablen kan til tider blive en reel smerte.

I denne vejledning ser vi, hvordan SDKMAN! kan nemt hjælpe med at administrere installationen og udvælgelsen af ​​SDK'er.

2. Hvad er SDKMAN !?

SDKMAN! er et værktøj til at styre parallelle versioner af flere SDK'er, hvilket SDKMAN! kalde “kandidater”.

Det giver et praktisk kommandolinjegrænseflade (CLI) og API til notering, installation, skift og fjernelse af kandidater. Desuden tager det sig af at indstille miljøvariabler for os.

Det giver også udviklerne mulighed for at installere JVM-baserede SDK'er som Java, Groovy, Scala, Kotlin og Ceylon. Maven, Gradle, SBT, Spring Boot, Vert.x og mange andre understøttes også. SDKMAN! er et gratis, let, open source-værktøj skrevet i Bash.

3. Installer SDKMAN!

SDKMAN! understøttes af alle større operativsystemer, og det kan nemt installeres på alle Unix-baserede systemer. Desuden understøtter den Bash- og Zsh-skaller.

Så lad os begynde med at installere det ved hjælp af terminalen:

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

Følg derefter instruktionerne på skærmen for at fuldføre installationen.

Vi har muligvis brug for zip- og pakkepakker installeret for at afslutte installationsprocessen.

Åbn derefter en ny terminal eller kør:

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

Endelig kør følgende kommando for at sikre, at installationen fungerede. Hvis alt gik godt, skulle versionen vises:

$ sdk version SDKMAN 5.8.5 + 522 

For mere tilpasning henvises til installationsvejledningen på SDKMAN! internet side.

For at se alle de tilgængelige kommandoer skal du bruge Hjælp kommando:

$ sdk hjælp

4. Liste over alle SDK-kandidater

Så lad os starte med at liste alle tilgængelige SDK-kandidater.

$ sdk-liste 

Det liste kommando viser alle de tilgængelige kandidater identificeret ved et unikt navn, beskrivelsen, det officielle websted og installationskommandoen:

===================================================== === Tilgængelige kandidater ================================================= ========= q-afslut / -søg ned j-ned? -søg op k-op h-hjælp ---------------------- ------------------------------- Java (11.0.7.hs-adpt) //zulu.org ... $ sdk installere java ----------------------------------------------- ------ Maven (3.6.3) //maven.apache.org ... $ sdk installer maven ------------------------ ---------------------------- Spring Boot (2.3.1.RELEASE) //spring.io ... $ sdk installer springboot -------------------------------------------------- ---- ... 

Derfor kan vi bruge denne identifikator til at installere standardversionen af ​​en kandidat som Spring Boot (2.3.1.RELEASE) eller Maven (3.6.3). De angivne versioner på denne liste repræsenterer de stabile versioner eller LTS-versionerne af hver SDK.

5. Installer og administrer Java-versioner

5.1. Listeversioner

Brug listen til at liste de tilgængelige versioner af Java liste kommando. Resultatet er en tabel med poster grupperet af sælgeren og sorteret efter version:

$ sdk liste java ================================================== ====================== Tilgængelige Java-versioner =========================== =========================================== Leverandør | Brug | Version | Dist | Status | Identifikator ------------------------------------------------- ------------------ 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 | åben | | 16.ea.6-åben ... SAP | | 14.0.2 | sapmchn | | 14.0.2-sapmchn ... 

Vi har brug for denne kommando hver gang vi vil kontrollere, skifte eller administrere opbevaring af kandidater.

5.2. Installer en Java-version

Lad os sige, at vi vil installere den nyeste version af Java 14 fra Azul Zulu. Derfor kopierer vi dens identifikator, som er versionen fra tabellen, og vi tilføjer den som et argument i installere kommando:

$ sdk install java 14.0.2-zulu Downloading: java 14.0.2-zulu I gang ... ############ 100,0% Ompakning af Java 14.0.2-zulu ... Udført ompakning ... Installation: java 14.0.2-zulu Udført installation! Indstilling af java 14.0.2-zulu som standard. 

SDKMAN! vil downloade og pakke denne version ud i et bibliotek på vores computer.

Desuden opdaterer det miljøvariabler, så vi kan bruge Java i terminalen med det samme.

Vi kan kontrollere status og brug af enhver version ved hjælp af liste kommando. Derfor versionen 14.0.1 is nu installeret og i brug:

$ sdk liste java ================================================== =================== Tilgængelige Java-versioner ============================== ======================================= Leverandør | Brug | Version | Dist | Status | Identifikator ------------------------------------------------- ---------------- ... Azul Zulu | >>> | 14.0.1 | adpt | installeret | 14.0.1.j9-adpt ... 

Derudover er det muligt at installere Java eller en hvilken som helst brugerdefineret version fra en computer med den samme kommando, men ved at angive stien til binære filer som et yderligere argument:

$ sdk installer java custom-8 ~ / Downloads / my-company-jdk-custom-8 

5.3. Skift mellem versioner

Vi kan styre skiftet mellem versioner i to former midlertidigt:

$ sdk brug java 14.0.1.j9-adpt

eller permanent:

$ sdk standard java 14.0.1.j9-adpt 

5.4. Fjern en version

For at fjerne en installeret version skal du køre afinstallere kommando med den målrettede version:

$ sdk afinstallere java 14.0.1.j9-adpt 

5.5. Vis de anvendte versioner

For at kontrollere den aktuelle version af Java kører vi nuværende kommando:

$ sdk nuværende java Brug af java version 14.0.2-zulu 

På samme måde har den sidste kommando den samme effekt som:

$ java -version 

For at vise versionen af ​​SDK på vores maskine kan vi køre nuværende kommando uden argumenter:

$ sdk nuværende Brug af: java: 14.0.2-zulu gradle: 6.2.2 

6. Brug af SDKMAN! med en IDE

De installerede SDK'er er gemt i SDKMAN! mappe, der som standard er ~ / .sdkman / kandidater.

For eksempel vil de forskellige versioner af Java også være tilgængelige under ~ / .sdkman / kandidater / java / katalog og underkataloger er opkaldt efter versionerne:

$ ls -al ~ / .sdkman / kandidater / java / i alt 0 drwxrwxrwx 1 brugerbruger 12 jul 25 20:00. drwxrwxrwx 1 brugerbruger 12 jul 25 20:00 .. drwxrwxr-x 1 bruger bruger 12 jul 25 20:00 14.0.2-zulu lrwxrwxrwx 1 bruger bruger 14 jul 25 20:00 nuværende -> 14.0.2-zulu 

Derfor vil den aktuelt valgte version af Java også være tilgængelig som aktuel i dette bibliotek.

På samme måde installeres Gradle eller en hvilken som helst anden SDK under kandidater vejviser.

På denne måde kan vi bruge en hvilken som helst bestemt version af Java, for eksempel i vores foretrukne IDE. Alt hvad vi skal gøre er at kopiere stien til en bestemt version og indstille den i konfigurationen af ​​vores IDE.

6.1. IntelliJ IDEA

I IntelliJ IDEA skal du åbne "Projektstruktur" og derefter åbne "Projektindstillinger". I projektkonfigurationen kan vi tilføje en ny Java-version ved at vælge "Ny ..." i afsnittet "Projekt SDK":

Vi kan også definere den version af Java, Gradle eller Maven, der skal bruges i afsnittet "Build Tools":

Tip: Versionen af ​​Java skal være den samme som brugt i "Project SDK" til Gradle eller Maven.

6.2. Formørkelse

I Eclipse skal du åbne "Projektegenskaber", vælge "Java Build Path" og derefter skifte til "Biblioteker" -fanen. Her kan vi administrere den nye SDK af Java via "Tilføj bibliotek ..." og ved at følge instruktionerne:

Vi kan også styre de installerede SDK'er til alle projekterne. Åbn "Indstillinger" under menuen "Vindue", og gå derefter til "Installerede JRE'er". Her kan vi administrere SDK for Java via "Tilføj ..." og ved at følge instruktionerne:

7. Konklusion

I denne vejledning har vi vist, hvordan SDKMAN! kan hjælpe os med at styre forskellige versioner af Java SDK'er blandt andre Java-miljøværktøjer som Maven.