Aller au contenu
BackToolsMaven

SDKMan: l'indispensable pour tout développeur Java

SDKMAN ! s'impose comme l'outil incontournable pour tout développeur Java. Facilitant la gestion et le basculement entre différentes versions de Java et autres SDKs, il optimise l'efficacité et la flexibilité des projets.

sdkman logo

Dans l'univers en constante évolution du développement logiciel, les technologies et les versions des outils changent rapidement. Pour les développeurs Java, jongler entre différentes versions de la JDK (Java Development Kit) peut être un véritable casse-tête, notamment lorsqu'il s'agit de maintenir divers projets nécessitant des versions spécifiques.

C’est ici que SDKMAN ! entre en jeu. Cet outil révolutionnaire permet non seulement de gérer facilement plusieurs versions de Java, mais aussi de passer d'une version à une autre en toute simplicité.

Cet article vous guidera à travers l'installation, l'utilisation et les fonctionnalités avancées de SDKMAN!

1 - Installation de SDKMAN! sur macOS et Linux

L'installation de SDKMAN ! sur macOS et Linux est un processus simple et rapide, accessible même aux débutants. Voici les étapes à suivre pour configurer cet outil sur votre machine.

    • Prérequis : Avant d'installer SDKMAN !, assurez-vous que votre système dispose des éléments suivants :
      • Un terminal (préinstallé sur macOS et Linux).
      • Un accès à Internet pour télécharger les scripts et les packages nécessaires.
      • curl et zip installés sur votre système. Ces outils sont généralement préinstallés, mais vous pouvez les installer manuellement si nécessaire.

Pour vérifier la présence de curl et zip, exécutez les commandes suivantes dans votre terminal :

curl --version
zip --version

Si ces commandes ne retournent pas les versions de ces outils, vous pouvez les installer via votre gestionnaire de paquets (Homebrew pour macOS ou apt/yum pour Linux).

    • Installation de SDKMAN ! Une fois les prérequis en place, l'installation de SDKMAN ! se fait en une seule commande :
curl -s "<https://get.sdkman.io>" | bash

Cette commande télécharge et exécute le script d'installation de SDKMAN!. Pendant le processus, le script va :

  • Télécharger les fichiers nécessaires.
  • Ajouter des configurations à votre fichier shell (.bashrc, .bash_profile, .zshrc ou autre selon votre shell).
  • Initialiser SDKMAN ! automatiquement.

Finalisation de l'installation :
Après l'exécution du script d'installation, rechargez votre configuration shell pour que les modifications prennent effet. Cela peut être fait en exécutant la commande suivante :

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

Alternativement, vous pouvez fermer et rouvrir votre terminal.

2 - Configuration Initiale de SDKMAN!

Après avoir installé SDKMAN!, il est important de configurer correctement l'outil pour en tirer le meilleur parti. Cette étape vous permettra de personnaliser le comportement de SDKMAN! en fonction de vos besoins spécifiques.

    • Vérification de l'installation

Avant de passer à la configuration, commencez par vérifier que SDKMAN! est installé correctement. Ouvrez un terminal et exécutez la commande suivante :

sdk version

Si SDKMAN! est installé correctement, cette commande retournera la version en cours d'utilisation.

    • Personnalisation du fichier de configuration

Le fichier de configuration de SDKMAN! se trouve dans votre répertoire utilisateur à l'emplacement suivant : ~/.sdkman/etc/config. Ce fichier contient plusieurs paramètres que vous pouvez ajuster.

Voici quelques-unes des options les plus couramment modifiées :

sdkman_insecure_ssl : Si vous avez des problèmes de certificat SSL, vous pouvez désactiver la vérification SSL en définissant cette option sur true. Cependant, cela est déconseillé pour des raisons de sécurité.

sdkman_insecure_ssl=false

sdkman_auto_selfupdate : Permet à SDKMAN! de se mettre automatiquement à jour lorsqu'une nouvelle version est disponible. Les valeurs possibles sont true ou false. Exemple :

sdkman_auto_selfupdate=true

sdkman_auto_answer : Détermine si SDKMAN! doit automatiquement répondre "oui" aux questions posées lors des installations et mises à jour. Les valeurs possibles sont true (réponse automatique) ou false (réponse manuelle). Exemple :

sdkman_auto_answer=true

Il y a beaucoup d’autres configurations, que vous pourrez regarder sur le site de SDKMan.

    • Mise à jour du shell

Pour que les modifications apportées au fichier de configuration soient prises en compte, vous devez recharger votre shell ou redémarrer votre terminal. Si vous avez modifié les fichiers .bashrc, .zshrc, ou autres, exécutez la commande suivante dans votre terminal :

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

3 - Gestion des versions de Java avec SDKMAN!

L'un des principaux avantages de SDKMAN ! est sa capacité à gérer facilement plusieurs versions de Java sur une même machine, que vous travailliez sur différents projets nécessitant des versions spécifiques de la JDK ou que vous souhaitiez tester vos applications sur plusieurs versions de Java. Voici comment installer plusieurs versions de Java, basculer entre elles, et définir une version par défaut.

    • Installation de plusieurs versions de Java

SDKMAN! vous permet d'installer plusieurs versions de Java rapidement en utilisant la commande sdk install. Pour installer une version spécifique de Java, suivez ces étapes :

    • Lister les versions disponibles : Commencez par lister toutes les versions de Java disponibles via SDKMAN! avec la commande suivante :
sdk list java

Cette commande affichera une liste de toutes les versions de Java disponibles, classées par fournisseur et numéro de version.

  • Installer une version spécifique : Une fois que vous avez identifié la version que vous souhaitez installer, utilisez la commande suivante pour l'installer :
sdk install java <identifier>

Par exemple, pour installer la version 22.0.2 de Corretto, vous utiliseriez :

sdk install java  22.0.2-amzn

Vous pouvez répéter cette étape pour installer autant de versions de Java que nécessaire.

    • Définir une version de Java par défaut

Pour changer la version de Java active, utilisez la commande sdk use suivie de la version souhaitée. Par exemple, pour utiliser la version 11.0.11 :

sdk use java 11.0.11.hs-adpt

Cette commande change la version de Java pour la session en cours du terminal. La version sera active tant que vous ne fermerez pas la session ou ne changerez pas à nouveau de version.

    • Lister les versions installées : Avant de changer de version, vous pouvez vérifier les versions de Java installées sur votre système en utilisant la commande suivante :
sdk list java

Les versions installées seront marquées avec un * or local only à côté de leur numéro de version.

Si vous avez une version de Java que vous utilisez plus fréquemment, vous pouvez la définir comme version par défaut. Ainsi, elle sera automatiquement activée à chaque ouverture de terminal.

  • Vérification de la version par défaut : Pour vérifier que la version par défaut est correctement configurée, exécutez simplement la commande suivante :
java -version
  • Définir la version par défaut : Pour définir une version de Java comme version par défaut, utilisez la commande sdk default suivie de la version souhaitée. Par exemple, pour définir la version 11.0.11 comme version par défaut, exécutez :
sdk default java 11.0.11.hs-adpt

4 - Fonctions avancées : installation d'autres SDKs et outils avec SDKMAN!

SDKMAN! ne se limite pas à la gestion des versions de Java ; il est également conçu pour gérer un large éventail de SDKs et d'outils de développement, tels que Maven, Gradle, Scala, et bien d'autres.

    • Installation d'autres SDKs et outils de développement

Lister les SDKs disponibles : Pour découvrir les autres SDKs et outils que vous pouvez installer, utilisez la commande suivante :

sdk list

Cette commande affichera une liste de tous les SDKs disponibles, incluant Maven, Gradle, Kotlin, Scala, etc.

  • Installer d'autres SDKs : Pour installer d'autres outils comme Scala ou Kotlin, il suffit d'utiliser la commande sdk install suivie du nom de l'outil. Par exemple, pour installer Scala :
sdk install scala
  • Installer Maven : on ne présente plus Maven dans l'écosysteme Java car tout développeur Java qui se respecte à déjà au moins une fois utilisé Maven dans sa vie.
sdk install maven

Chaque installation suit le même schéma, et SDKMAN! télécharge automatiquement la dernière version stable de l'outil demandé. Si vous avez besoin d'une version spécifique, vous pouvez spécifier la version souhaitée, par exemple :

sdk install gradle 6.8.
  • Configuration spécifique à chaque environnement

SDKMAN! permet de créer des configurations spécifiques à chaque projet ou environnement de développement, grâce à des fichiers de configuration locaux. Ces configurations sont particulièrement utiles si vous travaillez sur plusieurs projets nécessitant différentes versions de Java, Maven, ou d'autres outils.

    • Dans le répertoire de votre projet, créez un fichier nommé .sdkmanrc. Ce fichier contiendra les versions spécifiques des outils que vous souhaitez utiliser pour ce projet. Par exemple :
java=11.0.11.hs-adpt
maven=3.6.3
gradle=6.8.3

Ce fichier assure que, chaque fois que vous travaillez dans ce répertoire, SDKMAN! utilisera les versions spécifiées.

Pour activer la configuration définie dans le fichier .sdkmanrc, exécutez la commande suivante dans le répertoire du projet :

sdk env install

Si vous passez fréquemment d'un projet à un autre, vous pouvez simplement changer de répertoire et exécuter à nouveau sdk env install dans chaque projet pour activer les versions d'outils spécifiques.

Vous pouvez également activer automatiquement la configuration environnementale chaque fois que vous entrez dans un répertoire contenant un fichier .sdkmanrc. Pour ce faire, ajoutez cette ligne à votre fichier de configuration shell (par exemple, .bashrc ou .zshrc) :

sdk env auto=true

Avec cette configuration, SDKMAN! activera automatiquement l'environnement correct lorsque vous naviguerez dans votre projet.

Pour conclure, SDKMAN ! est l'outil idéal pour les développeurs souhaitant gérer efficacement plusieurs versions de Java et autres SDKs.

Peace et à une prochaine !

Dernier