Je souhaite installer OpenJDK Java 11 sur Mac OSX et l’utiliser avec d’autres JDK, car il s’agit d’une version plus récente. Actuellement, j'ai téléchargé le fichier tar.gz et je l'ai placé sur mon chemin, mais c'est difficile à maintenir.
Les seules autres installations que j'ai trouvées qui font plus de choses automatiquement sont l'installation d'Oracle via Homebrew, mais c'est le JDK commercial et je veux celui à source ouverte!
brew cask info Java
Spectacles:
Java: 11,28: 55eed80b163941c8885ad9298e6d786a https://www.Oracle.com/technetwork/Java/javase/overview/index.html
Il s’agit du JDK Oracle et non d’OpenJDK, voir: https://discourse.brew.sh/t/how-to-install-openjdk-with-brew/712
Suivre les instructions d'une question plus ancienne ( Mac OS X et plusieurs versions de Java ) est obsolète et me donne la version erronée - Oracle pas OpenJDK.
Update: _ À compter du 3 octobre 2018, le fût Homebrew pointe maintenant sur OpenJDK 11
Changement manuel de la version système par défaut sans outils tiers:
Comme détaillé dans cette réponse plus ancienne , sur macOS /usr/bin/Java
est un outil d'encapsulation qui utilisera la version Java désignée par Java_HOME
ou si cette variable n'est pas définie recherchera les installations Java sous /Library/Java/JavaVirtualMachines/
et utilisera celle avec la version la plus récente. Il détermine les versions en regardant Contents/Info.plist
sous chaque paquet.
Armé de cette connaissance, vous pouvez:
Info.plist
dans les versions que vous ne souhaitez pas utiliser par défaut (ce fichier n'est pas utilisé par le runtime Java lui-même).$Java_HOME
Je viens de vérifier que cela est toujours vrai avec OpenJDK & Mojave.
Sur un tout nouveau système, aucune version de Java n’est installée:
$ Java -version
No Java runtime present, requesting install.
Annuler cela, téléchargez OpenJDK 11 & 12ea sur https://jdk.Java.net ; Installer OpenJDK11:
$ cd /Library/Java/JavaVirtualMachines/
$ Sudo tar xzf ~/Downloads/openjdk-11.0.1_osx-x64_bin.tar.gz
Le système Java est maintenant 11:
$ Java -version
openjdk version "11.0.1" 2018-10-16
[...]
Installez OpenJDK12 (accès anticipé pour le moment):
$ Sudo tar xzf ~/Downloads/openjdk-12-ea+17_osx-x64_bin.tar.gz
Le système Java est maintenant 12:
$ Java -version
openjdk version "12-ea" 2019-03-19
[...]
Cachons maintenant OpenJDK 12 du wrapper Java du système:
$ cd jdk-12.jdk/Contents/
$ Sudo mv Info.plist Info.plist.disabled
Le système Java est de retour à 11:
$ Java -version
openjdk version "11.0.1" 2018-10-16
[...]
Et vous pouvez toujours utiliser la version 12 ponctuellement en définissant manuellement Java_HOME
:
$ export Java_HOME=/Library/Java/JavaVirtualMachines/jdk-12.jdk/Contents/Home
$ Java -version
openjdk version "12-ea" 2019-03-19
[...]
Voici comment je l'ai fait.
Étape 1: Installez Java 11
Vous pouvez télécharger Java 11 dmg pour mac à partir d'ici: https://www.Oracle.com/technetwork/Java/javase/downloads/jdk11-downloads-5066655.html
Étape 2: Après l'installation de Java 11. Confirmez l'installation de toutes les versions. Tapez la commande suivante dans votre terminal.
/usr/libexec/Java_home -V
Étape 3: Éditez le fichier .bash_profile
Sudo nano ~/.bash_profile
Étape 4: Ajoutez 11.0.1 par défaut. (Ajouter la ligne ci-dessous au fichier bash_profile).
export Java_HOME=$(/usr/libexec/Java_home -v 11.0.1)
pour passer à n'importe quelle version
export Java_HOME=$(/usr/libexec/Java_home -v X.X.X)
Maintenant, appuyez sur CTRL + X pour quitter le bash. Appuyez sur 'Y' pour enregistrer les modifications.
Étape 5: Recharger bash_profile
source ~/.bash_profile
Étape 6: Confirmer la version actuelle de Java
Java -version
Une autre alternative consiste à utiliser SDKMAN ! Voir https://wimdeblauwe.wordpress.com/2018/09/26/switching-between-jdk-8-and-11-using-sdkman/
Installez d'abord SDKMAN: https://sdkman.io/install puis ...
sdk install Java 8.0.181-Oracle
sdk install Java 11.0.0-open
Commuter:
sdk use Java 8.0.181-Oracle
sdk use Java 11.0.0-open
Pour définir une valeur par défaut:
sdk default Java 8.0.181-Oracle
par défautsdk default Java 11.0.0-open
par défaut