Gérer les versions Java avec SDKMan

Java est plus qu’un simple langage de programmation : c’est aussi un runtime.
Les applications écrites en Java sont compilées en bytecode Java puis interprétées par une machine virtuelle Java (JVM), c’est pourquoi vous pouvez écrire Java sur une plate-forme et l’exécuter sur toutes les autres plates-formes.
Un défi peut cependant survenir lorsqu’un langage de programmation et une application se développent à des rythmes différents. Il est possible que Java (le langage) incrémente son numéro de version en même temps que votre application préférée continue d’utiliser une version plus ancienne, au moins pendant un certain temps.
Si vous avez deux applications indispensables, chacune utilisant une version différente de Java, vous pouvez installer à la fois une ancienne version et une nouvelle version de Java sur le même système. Si vous êtes un développeur Java, cela est particulièrement courant, car vous pouvez contribuer au code de plusieurs projets, chacun nécessitant une version différente de Java.
Le projet SDKMan facilite la gestion de différentes versions de Java et des langages associés, notamment Groovy, Scala, Kotlin, etc.
SDKMan est comme un gestionnaire de packages uniquement pour les versions de Java.
Contents
Installer SDKMan
SDKMan nécessite que ces commandes soient présentes sur votre système :
Sous Linux, vous pouvez les installer à l’aide de votre gestionnaire de packages. Sur Fedora, CentOS Stream, Mageia et similaires :
$ sudo dnf install zip unzip curl sed
Sur les distributions basées sur Debian, utilisez apt
au lieu de dnf
. Sur macOS, utilisez MacPorts ou Homebrew. Sous Windows, vous pouvez utiliser SDKMan via Cygwin ou WSL.
Une fois que vous avez satisfait à ces exigences, téléchargez le script d’installation SDKMan :
$ curl "https://get.sdkman.io" --output sdkman.sh
Examinez le script pour voir ce qu’il fait, puis rendez-le exécutable et exécutez-le :
$ chmod +x sdkman.sh
$ ./sdkman.sh
Configurer
Une fois l’installation terminée, ouvrez un nouveau terminal ou exécutez ce qui suit dans celui existant :
source "~/.sdkman/bin/sdkman-init.sh"
Confirmez qu’il est installé :
$ sdk version
Installer Java avec SDKMan
Désormais, lorsque vous souhaitez installer une version de Java, vous pouvez le faire à l’aide de SDKMan.
Tout d’abord, listez les candidats pour Java disponibles :
$ sdk list java
=================================================
Available Java Versions for Linux 64bit
=================================================
Vendor | Version | Dist | Identifier
-------------------------------------------------
Gluon | 22.0.0.3.r17 | gln | 22.0.0.3.r17-gln
| 22.0.0.3.r11 | gln | 22.0.0.3.r11-gln
GraalVM | 22.0.0.2.r17 | grl | 22.0.0.2.r17-grl
| 21.3.1.r17 | grl | 21.3.1.r17-grl
| 20.3.5.r11 | grl | 20.3.5.r11-grl
| 19.3.6.r11 | grl | 19.3.6.r11-grl
Java.net | 19.ea.10 | open | 19.ea.10-open
| 18 | open | 18-open
| 17.0.2 | open | 17.0.2-open
| 11.0.12 | open | 11.0.12-open
| 8.0.302 | open | 8.0.302-open
[...]
Cela fournit une liste des différentes distributions Java disponibles sur plusieurs fournisseurs populaires, notamment Gluon, GraalVM, OpenJDK de Java.netet plein d’autres.
Vous pouvez installer une version spécifique de Java en utilisant la valeur dans le Identifier
colonne:
$ sdk install java 11.0.12-open
le sdk
La commande utilise la complétion par tabulation, vous n’avez donc pas besoin d’afficher une liste. Au lieu de cela, vous pouvez taper sdk install java 11
puis appuyez sur Languette plusieurs fois pour obtenir les options.
Alternativement, vous pouvez simplement installer la dernière version par défaut :
$ sdk install java
Définissez votre version actuelle de Java
Définissez la version de Java pour une session de terminal avec le use
sous-commande :
$ sdk use java 17.0.2-open
Pour définir une version par défaut, utilisez le default
sous-commande :
$ sdk default java 17.0.2-open
Obtenez la version actuelle en vigueur à l’aide de la current
sous-commande :
$ sdk current java Using java version 17.0.2-open
Supprimer Java avec SDKMan
Vous pouvez supprimer une version installée de Java à l’aide de la uninstall
sous-commande :
$ sdk uninstall java 11.0.12-open
Plus de SDKMan
Vous pouvez faire plus de personnalisation avec SDKMan, y compris la mise à jour et la mise à niveau des versions Java et la création d’environnements basés sur des projets. C’est une commande utile pour tout développeur ou utilisateur qui souhaite pouvoir basculer rapidement et facilement entre les versions de Java.
Si vous aimez Java ou utilisez Java, essayez SDKMan. Cela rend Java plus facile que jamais !