Gids voor SDKMAN!

1. Overzicht

Met de nieuwe releasecyclus van Java moeten ontwikkelaars mogelijk parallelle versies en verschillende builds van Software Development Kits (SDK) in hun omgeving beheren. Het instellen van de PATH-variabele kan dus soms een hele klus worden.

In deze tutorial zullen we zien hoe SDKMAN! kan helpen om de installatie en selectie van SDK's gemakkelijk te beheren.

2. Wat is SDKMAN !?

SDKMAN! is een tool om parallelle versies van meerdere SDK's te beheren, waarvan SDKMAN! bel "kandidaten".

Het biedt een handige Command-Line Interface (CLI) en API voor het vermelden, installeren, wisselen en verwijderen van kandidaten. Bovendien zorgt het voor het instellen van omgevingsvariabelen voor ons.

Het stelt de ontwikkelaars ook in staat om op JVM gebaseerde SDK's zoals Java, Groovy, Scala, Kotlin en Ceylon te installeren. Maven, Gradle, SBT, Spring Boot, Vert.x en vele anderen worden ook ondersteund. SDKMAN! is een gratis, lichtgewicht open-sourcehulpprogramma geschreven in Bash.

3. Installeer SDKMAN!

SDKMAN! wordt ondersteund door alle grote besturingssystemen en kan eenvoudig op alle op Unix gebaseerde systemen worden geïnstalleerd. Bovendien ondersteunt het Bash- en Zsh-shells.

Dus laten we beginnen met het installeren met behulp van de terminal:

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

Volg daarna de instructies op het scherm om de installatie te voltooien.

Mogelijk hebben we de zip- en unzip-pakketten nodig om het installatieproces te voltooien.

Open vervolgens een nieuwe terminal of voer het volgende uit:

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

Voer ten slotte de volgende opdracht uit om ervoor te zorgen dat de installatie werkt. Als alles goed is gegaan, zou de versie moeten worden weergegeven:

$ sdk-versie SDKMAN 5.8.5 + 522 

Raadpleeg de installatiehandleiding op de SDKMAN voor meer aanpassingen! website.

Om alle beschikbare opdrachten te zien, gebruikt u de helpen opdracht:

$ sdk help

4. Maak een lijst van alle SDK-kandidaten

Laten we dus beginnen met een lijst van alle beschikbare SDK-kandidaten.

$ sdk lijst 

De lijst opdracht toont alle beschikbare kandidaten, geïdentificeerd door een unieke naam, de beschrijving, de officiële website en de installatieopdracht:

================================================== === Beschikbare kandidaten =============================================== ======== q-quit / -zoek omlaag j-omlaag? -zoek omhoog k-up h-help ---------------------- ------------------------------- Java (11.0.7.hs-adpt) //zulu.org ... $ sdk java installeren ----------------------------------------------- ------ Maven (3.6.3) //maven.apache.org ... $ sdk install maven ------------------------ ----------------------------- Spring Boot (2.3.1.RELEASE) //spring.io ... $ sdk installeer springboot -------------------------------------------------- ---- ... 

Daarom kunnen we deze identifier gebruiken om de standaardversie van een kandidaat zoals Spring Boot (2.3.1.RELEASE) of Maven (3.6.3) te installeren. De gespecificeerde versies in deze lijst vertegenwoordigen de stabiele of LTS-versies van elke SDK.

5. Installeer en beheer Java-versies

5.1. Versies weergeven

Gebruik de lijst opdracht. Het resultaat is een tabel met vermeldingen, gegroepeerd op leverancier en gesorteerd op versie:

$ sdk lijst java ============================================== ===================== Beschikbare Java-versies ========================== ========================================= Leverancier | Gebruik | Versie | Dist | Status | Identificatie ------------------------------------------------- ------------------ AannemenOpenJDK | | 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. een | open | | 16.ea.6-open ... SAP | | 14.0.2 | sapmchn | | 14.0.2-sapmchn ... 

We hebben deze opdracht elke keer nodig als we de opslag van kandidaten willen controleren, wisselen of beheren.

5.2. Installeer een Java-versie

Laten we zeggen dat we de nieuwste build van Java 14 van Azul Zulu willen installeren. Daarom kopiëren we de identifier, die de versie uit de tabel is, en voegen we deze toe als argument in de installeren opdracht:

$ sdk install java 14.0.2-zulu Downloaden: java 14.0.2-zulu Bezig ... ############ 100.0% Herverpakken Java 14.0.2-zulu ... Klaar met herverpakken ... Installeren: java 14.0.2-zulu Klaar met installeren! Java 14.0.2-zulu instellen als standaard. 

SDKMAN! zal deze versie downloaden en uitpakken in een map op onze computer.

Bovendien worden omgevingsvariabelen bijgewerkt, zodat we Java onmiddellijk in de terminal kunnen gebruiken.

We kunnen de status en het gebruik van elke versie verifiëren door de lijst opdracht. Bijgevolg is de versie 14.0.1 is nu geïnstalleerd en in gebruik:

$ sdk lijst java ============================================== =================== Beschikbare Java-versies ============================ ===================================== Leverancier | Gebruik | Versie | Dist | Status | Identificatie ------------------------------------------------- ---------------- ... Azul Zulu | >>> | 14.0.1 | adpt | geïnstalleerd | 14.0.1.j9-adpt ... 

Bovendien is het mogelijk om Java of een aangepaste versie vanaf een computer te installeren met dezelfde opdracht, maar door het pad van de binaire bestanden op te geven als een extra argument:

$ sdk install java custom-8 ~ / Downloads / mijn-bedrijf-jdk-custom-8 

5.3. Schakelen tussen versies

We kunnen het schakelen tussen versies tijdelijk in twee vormen regelen:

$ sdk gebruikt java 14.0.1.j9-adpt

of permanent:

$ sdk standaard java 14.0.1.j9-adpt 

5.4. Verwijder een versie

Om een ​​geïnstalleerde versie te verwijderen, voert u het verwijderen commando met de beoogde versie:

$ sdk verwijder java 14.0.1.j9-adpt 

5.5. Geef de gebruikte versies weer

Om de huidige versie van Java te controleren, draaien we het actueel opdracht:

$ sdk huidige java Met behulp van java versie 14.0.2-zulu 

Evenzo heeft het laatste commando hetzelfde effect als:

$ java -versie 

Om de versie per SDK op onze computer te laten zien, kunnen we het actueel commando zonder argumenten:

$ sdk huidige Gebruik: java: 14.0.2-zulu gradle: 6.2.2 

6. SDKMAN gebruiken! met een IDE

De geïnstalleerde SDK's worden opgeslagen in de SDKMAN! directory die standaard is ingesteld op ~ / .sdkman / kandidaten.

De verschillende versies van Java zullen bijvoorbeeld ook beschikbaar zijn onder de ~ / .sdkman / kandidaten / java / directory en de subdirectory's zijn vernoemd naar de versies:

$ ls -al ~ / .sdkman / kandidaten / java / total 0 drwxrwxrwx 1 gebruiker gebruiker 12 juli 25 20:00. drwxrwxrwx 1 gebruiker gebruiker 12 jul 25 20:00 .. drwxrwxr-x 1 gebruiker gebruiker 12 jul 25 20:00 14.0.2-zulu lrwxrwxrwx 1 gebruiker gebruiker 14 jul 25 20:00 huidig ​​-> 14.0.2-zulu 

Daarom zal de momenteel geselecteerde versie van Java ook als actueel beschikbaar zijn in die directory.

In dezelfde geest zal Gradle of een andere SDK worden geïnstalleerd onder het kandidaten directory.

Op deze manier kunnen we elke bepaalde versie van Java gebruiken, bijvoorbeeld in onze favoriete IDE. Het enige wat we hoeven te doen is het pad van een specifieke versie te kopiëren en in de configuratie van onze IDE in te stellen.

6.1. IntelliJ IDEE

Open in IntelliJ IDEA “Projectstructuur” en open vervolgens “Projectinstellingen”. In de projectconfiguratie kunnen we een nieuwe Java-versie toevoegen door "Nieuw ..." te selecteren in het gedeelte "Project SDK":

We kunnen ook de versie van Java, Gradle of Maven definiëren die moet worden gebruikt in de sectie "Build Tools":

Tip: de versie van Java moet dezelfde zijn als die wordt gebruikt in "Project SDK" voor Gradle of Maven.

6.2. Verduistering

Open in Eclipse “Projecteigenschappen”, selecteer “Java Build Path” en schakel vervolgens over naar het tabblad “Bibliotheken”. Hier kunnen we de nieuwe SDK van Java beheren via "Add Library ..." en door de instructies te volgen:

We kunnen ook de geïnstalleerde SDK's voor alle projecten beheren. Open "Voorkeuren" onder het menu "Venster" en ga vervolgens naar "Geïnstalleerde JRE's". Hier kunnen we de SDK van Java beheren via "Toevoegen ..." en door de instructies te volgen:

7. Conclusie

In deze tutorial hebben we laten zien hoe SDKMAN! kan ons helpen bij het beheren van verschillende versies van Java SDK's naast andere Java Environment-tools zoals Maven.