Remarque: Ces solutions fonctionnent pour différentes versions de Java, y compris Java 8 et le nouveau Java 13, et pour toute autre version Java précédente couverte par les gestionnaires de versions répertoriés. Cela inclut des JDK alternatifs d'OpenJDK, Oracle, IBM, Azul, Amazon Correto, Graal et plus encore. Travaillez facilement avec Java 7, Java 8, Java 9, Java 10, Java 11, Java 12 et Java 13!
Vous avez quelques options sur la façon de faire l'installation ainsi que de gérer la commutation JDK. L'installation peut être effectuée par Homebrew, SDKMAN , Jabba ou une installation manuelle. La commutation peut être effectuée par JEnv , SDKMAN , Jabba ou manuellement en définissant JAVA_HOME
. Tous ces éléments sont décrits ci-dessous.
Installation
Tout d'abord, installez Java en utilisant la méthode que vous préférez, y compris Homebrew, SDKMAN ou une installation manuelle du fichier tar.gz. Les avantages d'une installation manuelle sont que l'emplacement du JDK peut être placé dans un emplacement standardisé pour Mac OSX.
Installer avec SDKMAN
Il s'agit d'un modèle simple en ce qu'il gère à la fois l'installation et le changement de version, avec une mise en garde qu'il installe le JDK dans un répertoire non standard.
< voir ci-dessous "Installation et changement de versions avec SDKMAN" >
Installer avec Jabba
Il s'agit également d'un modèle simple dans la mesure où l'installation et le changement de version sont gérés par le même outil. Les installations sont effectuées dans un répertoire non standard.
< voir ci-dessous "Installer et changer de version avec Jabba" >
Installez manuellement depuis la page de téléchargement d'OpenJDK:
Téléchargez OpenJDK pour Mac OSX depuis http://jdk.java.net/ (par exemple Java 13 )
Désarchivez le tar OpenJDK et placez le dossier résultant (c'est-à-dire jdk-13.jdk
) dans votre /Library/Java/JavaVirtualMachines/
dossier car il s'agit de l'emplacement standard et attendu des installations JDK. Vous pouvez également installer où vous voulez en réalité.
Installer avec Homebrew
La version de Java disponible dans Homebrew Cask avant le 3 octobre 2018 était en effet la JVM Oracle. Maintenant, cependant, il a maintenant été mis à jour vers OpenJDK. Assurez-vous de mettre à jour Homebrew et vous verrez alors la dernière version disponible pour l'installation.
installez Homebrew si vous ne l'avez pas déjà fait. Assurez-vous qu'il est mis à jour:
brew update
Ajoutez le robinet de fûts, si vous ne l'avez pas déjà fait (ou si vous ne voyez plus d'anciennes versions de Java à l'étape 3):
brew tap homebrew/cask-versions
et pour les versions AdoptOpenJDK , ajoutez ce robinet:
brew tap adoptopenjdk/openjdk
Ces fûts changent souvent leurs versions Java, et il pourrait y avoir d'autres robinets avec des versions Java supplémentaires.
Recherchez les versions installables:
brew search java
ou pour les versions AdoptOpenJDK:
brew search jdk
Vérifiez les détails de la version qui sera installée:
brew cask info java
ou pour la version AdoptOpenJDK:
brew cask info adoptopenjdk
Installer une version spécifique du JDK tels que java11
, adoptopenjdk8
ou tout java
ou adoptopenjdk
pour le courant. Par exemple:
brew cask install java
Vous pouvez également utiliser le chemin d'accès complet aux anciennes versions:
brew cask install homebrew/cask-versions/java11
Et ceux-ci seront installés dans /Library/Java/JavaVirtualMachines/
lequel est l'emplacement traditionnel attendu sur Mac OSX.
Autres options d'installation:
Quelques autres versions d'OpenJDK sont:
Les versions d' Azul Systems certifiées Java Zulu d'OpenJDK peuvent être installées en suivant les instructions sur leur site .
Zulu® est une version certifiée d'OpenJDK entièrement conforme à la norme Java SE. Zulu est 100% open source et téléchargeable gratuitement. Désormais, les développeurs Java, les administrateurs système et les utilisateurs finaux peuvent profiter de tous les avantages du Java open source avec une flexibilité de déploiement et un contrôle sur le calendrier de mise à niveau.
Les builds Amazon Correto OpenJDK ont un package d'installation facile à utiliser pour la version 8 ou la version 11 (d'autres versions arrivent) et s'installe dans le/Library/Java/JavaVirtualMachines/
répertoirestandardsur Mac OSX.
Amazon Corretto est une distribution multiplateforme gratuite, prête à la production, du kit de développement Java ouvert (OpenJDK). Corretto est livré avec un support à long terme qui comprendra des améliorations de performances et des correctifs de sécurité. Amazon exécute Corretto en interne sur des milliers de services de production et Corretto est certifié compatible avec la norme Java SE. Avec Corretto, vous pouvez développer et exécuter des applications Java sur des systèmes d'exploitation courants, notamment Linux, Windows et macOS.
Où est mon JDK?!?!
Pour rechercher les emplacements des JDK Java précédemment installés installés aux emplacements système par défaut, utilisez:
/usr/libexec/java_home -V
Machines virtuelles Java correspondantes (6):
13, x86_64: "OpenJDK 13" /Library/Java/JavaVirtualMachines/openjdk-13.jdk/Contents/Home 12, x86_64: "OpenJDK 12" / Library / Java / JavaVirtualMachines / jdk-12 .jdk / Contents / Home
11, x86_64: "Java SE 11" /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
10.0.2, x86_64: "Java SE 10.0.2" / Library / Java / JavaVirtualMachines /jdk-10.0.2.jdk/Contents/Home
9, x86_64: "Java SE 9" /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
1.8.0_144, x86_64: "Java SE 8" / Bibliothèque /Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
Vous pouvez également signaler uniquement l'emplacement d'une version Java spécifique à l'aide de -v
. Par exemple pour Java 13:
/usr/libexec/java_home -v 13
/Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
Connaître l'emplacement des JDK installés est également utile lorsque vous utilisez des outils comme JEnv, ou ajoutez une installation locale à SDKMAN, ou liez un JDK système dans Jabba - et vous devez savoir où les trouver.
Si vous devez trouver des JDK installés par d'autres outils, vérifiez ces emplacements:
- SDKMAN installe sur
~/.sdkman/candidates/java/
- Jabba s'installe sur
~/.jabba/jdk
Changer de version manuellement
L'exécutable Java est un wrapper qui utilisera le JDK configuré JAVA_HOME
, vous pouvez donc le modifier pour changer également le JDK utilisé.
Par exemple, si vous avez installé ou décompressé JDK 13, /Library/Java/JavaVirtualMachines/jdk-13.jdk
s'il s'agit du numéro de version le plus élevé, il devrait déjà être le numéro par défaut, sinon vous pouvez simplement définir:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
Et maintenant, quel que soit l'exécutable Java dans le chemin, il le verra et utilisera le JDK correct.
L'utilisation de l' /usr/libexec/java_home
utilitaire tel que décrit précédemment vous aide à créer des alias ou à exécuter des commandes pour modifier les versions de Java en identifiant les emplacements des différentes installations JDK. Par exemple, créer des alias de shell dans .profile
ou .bash_profile
pour changer JAVA_HOME
pour vous:
export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_9_HOME=$(/usr/libexec/java_home -v9)
export JAVA_10_HOME=$(/usr/libexec/java_home -v10)
export JAVA_11_HOME=$(/usr/libexec/java_home -v11)
export JAVA_12_HOME=$(/usr/libexec/java_home -v12)
export JAVA_13_HOME=$(/usr/libexec/java_home -v13)
alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java9='export JAVA_HOME=$JAVA_9_HOME'
alias java10='export JAVA_HOME=$JAVA_10_HOME'
alias java11='export JAVA_HOME=$JAVA_11_HOME'
alias java12='export JAVA_HOME=$JAVA_12_HOME'
alias java13='export JAVA_HOME=$JAVA_13_HOME'
# default to Java 13
java13
Ensuite, pour changer de version, utilisez simplement l'alias.
java8
java -version
version java "1.8.0_144"
Bien sûr, le réglage JAVA_HOME
manuel fonctionne aussi!
Changer de version avec JEnv
JEnv s'attend à ce que les JDK Java existent déjà sur la machine et puissent être n'importe où. En général, vous trouverez les JDK Java installés dans/Library/Java/JavaVirtualMachines/
. JEnv permet de définir la version globale de Java, une pour le shell actuel et une version locale par répertoire, ce qui est pratique lorsque certains projets nécessitent des versions différentes des autres.
Installez JEnv si vous ne l'avez pas déjà fait, instructions sur le site http://www.jenv.be/ pour une installation manuelle ou en utilisant Homebrew.
Ajoutez n'importe quelle version Java à JEnv ( ajustez le répertoire si vous l'avez placé ailleurs ):
jenv add /Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
Définissez votre version globale à l'aide de cette commande:
jenv global 13
Vous pouvez également ajouter d'autres versions existantes en utilisant jenv add
de manière similaire et répertorier celles qui sont disponibles. Par exemple Java 8:
jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
jenv versions
Voir les documents JEnv pour plus de commandes. Vous pouvez désormais basculer entre n'importe quelle version Java (Oracle, OpenJDK, autre) à tout moment, soit pour l'ensemble du système, pour les shells, soit par répertoire local.
Pour aider à gérer JAVA_HOME
tout en utilisant JEnv, vous pouvez ajouter le plugin d'exportation pour le faire pour vous.
$ jenv enable-plugin export
You may restart your session to activate jenv export plugin echo export plugin activated
Le plugin d'exportation peut ne pas s'ajuster JAVA_HOME
s'il est déjà défini, vous devrez donc peut-être effacer cette variable dans votre profil afin qu'elle puisse être gérée par JEnv.
Vous pouvez également utiliser jenv exec <command> <parms...>
pour exécuter des commandes uniques avec JAVA_HOME
et PATH
définir correctement pour cette commande, ce qui pourrait inclure l'ouverture d'un autre shell.
Installation et changement de version avec SDKMAN
SDKMAN est un peu différent et gère à la fois l'installation et la commutation. SDKMAN place également les JDK installés dans sa propre arborescence de répertoires, qui est généralement~/.sdkman/candidates/java
. SDKMAN permet de définir une version globale par défaut et une version spécifique au shell actuel.
Installez SDKMAN à partir de https://sdkman.io/install
Répertoriez les versions Java disponibles pour vous assurer que vous connaissez l'ID de version
sdk list java
Installez l'une de ces versions, par exemple, Java 13:
sdk install java 13.0.0-open
Faites de 13 la version par défaut:
sdk default java 13.0.0-open
Ou passez à 13 pour la session:
sdk use java 13.0.0-open
Lorsque vous répertoriez les versions disponibles pour l'installation à l'aide de la commande list, vous verrez une grande variété de distributions de Java:
sdk list java
Et installez des versions supplémentaires, telles que JDK 8:
sdk install java 8.0.181-oracle
SDKMAN peut fonctionner avec des versions existantes déjà installées. Effectuez simplement une installation locale en donnant votre propre étiquette de version et l'emplacement du JDK:
sdk install java my-local-13 /Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
Et utilisez-le librement:
sdk use java my-local-13
Plus d'informations sont disponibles dans le Guide d'utilisation du SDKMAN avec d' autres SDK qu'il peut installer et gérer.
SDKMAN gérera automatiquement votre PATH
et JAVA_HOME
pour vous lorsque vous changez de version.
Installer et changer de version avec Jabba
Jabba gère également à la fois l'installation et la commutation. Jabba place également les JDK installés dans sa propre arborescence de répertoires, qui est généralement~/.jabba/jdk
.
Installez Jabba en suivant les instructions de la page d'accueil .
Liste des JDK disponibles
jabba ls-remote
Installer Java JDK 12
jabba install openjdk@1.12.0
Utilise le:
jabba use openjdk@1.12.0
Vous pouvez également alias des noms de version, créer un lien vers des JDK existants déjà installés et trouver un mélange de JDK intéressants tels que GraalVM, Adopt JDK, IBM JDK, etc. Le guide d'utilisation complet est également disponible sur la page d'accueil.
Jabba gérera automatiquement votre PATH
et JAVA_HOME
pour vous lorsque vous changez de version.