Comment installer Java sur Mac OSX permettant le changement de version?


313

Je veux installer OpenJDK Java sur Mac OSX et le faire fonctionner avec d'autres JDK car il s'agit d'une version plus récente. Actuellement, j'ai téléchargé le tar.gz et l'ai placé sur mon chemin mais c'est difficile à maintenir.

La seule autre installation que j'ai trouvée qui fait plus de choses automatiquement est l'installation via Homebrew cask. Il ne ressemble qu'à la version actuelle:

brew cask info java

Spectacles:

java: 13,33: 5b8a42f3905b406298b72d750b6919f6
https://openjdk.java.net/

Je peux donc l'installer à partir de là, mais alors quoi? Suis-je bloqué uniquement avec la nouvelle version?


Je demande simplement, pouvons-nous limiter les balises de question à une seule version? Puisqu'il n'y a pas de tels scripts / étapes d'installation spécifiques à la version de toute façon. Il s'agit d'une question générale (non spécifique à la version) et peut suffire à être étiquetée uniquement avec java-11 , car je suppose que c'est l'endroit où les gens commenceraient à chercher ce que la question et la réponse suggèrent.
Naman

Les scripts dans les réponses incluent des versions spécifiques même s'il est facile de les interpréter pour d'autres versions. Mais, cela fait également partie de la recherche des membres de la communauté, il est donc bon de les aider à trouver rapidement les bonnes réponses en aidant à attirer l'attention sur les réponses mises à jour et modernes et à les différencier des anciens sujets obsolètes de la version 6 et de la version 8. Ayant la dernière version stable et la dernière nouvelle version, je pense que ce sont des balises raisonnables à conserver.
Jayson Minard

Je recommanderais probablement d'utiliser jenv pour gérer plusieurs versions de Java.
paranza

Réponses:


718

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:

  1. Téléchargez OpenJDK pour Mac OSX depuis http://jdk.java.net/ (par exemple Java 13 )

  2. 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.

  1. installez Homebrew si vous ne l'avez pas déjà fait. Assurez-vous qu'il est mis à jour:

    brew update
  2. 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.

  3. Recherchez les versions installables:

    brew search java   

    ou pour les versions AdoptOpenJDK:

    brew search jdk     
  4. 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
  5. Installer une version spécifique du JDK tels que java11, adoptopenjdk8ou tout javaou adoptopenjdkpour 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.jdks'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_homeutilitaire 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 .profileou .bash_profilepour changer JAVA_HOMEpour 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_HOMEmanuel 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.

  1. 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.

  2. 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
  3. Définissez votre version globale à l'aide de cette commande:

    jenv global 13

Vous pouvez également ajouter d'autres versions existantes en utilisant jenv addde 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_HOMEtout 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_HOMEs'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_HOMEet PATHdé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.

  1. Installez SDKMAN à partir de https://sdkman.io/install

  2. Répertoriez les versions Java disponibles pour vous assurer que vous connaissez l'ID de version

    sdk list java
  3. Installez l'une de ces versions, par exemple, Java 13:

    sdk install java 13.0.0-open 
  4. 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 PATHet JAVA_HOMEpour 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.

  1. Installez Jabba en suivant les instructions de la page d'accueil .

  2. Liste des JDK disponibles

    jabba ls-remote
  3. Installer Java JDK 12

    jabba install openjdk@1.12.0
  4. 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 PATHet JAVA_HOMEpour vous lorsque vous changez de version.


2
Pour une installation manuelle, je pense que vous devez définir JAVA_HOMEafin de sélectionner une version spécifique, quelque chose comme export JAVA_HOME=$(/usr/libexec/java_home -v <version>)dans votre.bash_profile
Peter Hull

@PeterHull certains des gestionnaires de versions Java n'aiment pas avoir JAVA_HOMEdéfini manuellement et ils le gèrent eux-mêmes. JEnv ne l'ajustera certainement pas s'il a été défini précédemment, je ne suis pas sûr de Jabba et SDKMAN mais ils gèreront normalement ce paramètre. Seule une installation manuelle sans changement de version ne doit jamais définir cette valeur directement.
Jayson Minard

tout à fait d'accord, ce serait bien si vous pouviez noter que dans votre réponse, comme la question d'origine demandait le changement de version et la définition de JAVA_HOME, c'est la (seule?) façon de le faire pour la méthode d'installation manuelle.
Peter Hull

2
Java en fût de bière changé en OpenJDK 11 hier, 3 octobre 2018.
Xingang Huang

16
Peut-être la réponse la plus complète et la plus utile à l'exécution de différents JDK sur MacOS couvrant de nombreuses approches différentes, dont je n'avais jamais rencontré auparavant.
Kevin Hooke

7

Voilà comment je l'ai fait.

Étape 1: installer Java 11

Vous pouvez télécharger Java 11 dmg pour mac 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: Modifier .bash_profile

sudo nano ~/.bash_profile

Étape 4: ajoutez 11.0.1 par défaut. (Ajoutez 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

Belle solution. Mais que se passe-t-il si java -version pointe sur 8 alors que j'ai exporté JAVA_HOME 11?
AlexGera

1
La question se pose sur Open JDK, mais vous vous êtes lié à Oracle JDK à la place. L'Open JDK ne semble pas avoir d'installation ni d'instructions d'installation.
Splaktar

1
En réponse à @AlexGera - ajoutez cette ligne: export $ PATH = $ JAVA_HOME / bin: $ PATH
Fuad Efendi

6

Commutation manuelle de la version par défaut du système sans outils tiers:

Comme détaillé dans cette ancienne réponse , sur macOS /usr/bin/javaest un outil wrapper qui utilisera la version Java pointée par JAVA_HOMEou si cette variable n'est pas définie recherchera les installations Java sous /Library/Java/JavaVirtualMachines/et utilisera celle avec la version la plus élevée. Il détermine les versions en regardant Contents/Info.plistsous chaque package.

Armé de ces connaissances, vous pouvez:

  • contrôler la version que le système utilisera en renommant les Info.plistversions que vous ne souhaitez pas utiliser par défaut (ce fichier n'est pas utilisé par le runtime Java lui-même).
  • contrôler la version à utiliser pour des tâches spécifiques en définissant $JAVA_HOME

Je viens de vérifier que cela est toujours vrai avec OpenJDK et Mojave.

Sur un tout nouveau système, aucune version Java n'est installée:

$ java -version
No Java runtime present, requesting install.

Annulez cela, téléchargez OpenJDK 11 & 12ea sur https://jdk.java.net ; installez OpenJDK11:

$ cd /Library/Java/JavaVirtualMachines/
$ sudo tar xzf ~/Downloads/openjdk-11.0.1_osx-x64_bin.tar.gz

Le système java a maintenant 11 ans:

$ 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 a maintenant 12 ans:

$ java -version
openjdk version "12-ea" 2019-03-19
[...]

Maintenant, «cachons» OpenJDK 12 à l'encapsuleur java du système:

$ cd jdk-12.jdk/Contents/
$ sudo mv Info.plist Info.plist.disabled

Le système java revient à 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
[...]

1
et cela devrait aussi être vrai maintenant avec les builds AdoptOpenJDK
Hugues M.

6

Si plusieurs versions sont installées sur votre ordinateur, ajoutez ce qui suit dans le profil bash:

export JAVA_HOME_7 = $ (/ usr / libexec / java_home -v1.7)

export JAVA_HOME_8 = $ (/ usr / libexec / java_home -v1.8)

export JAVA_HOME_9 = $ (/ usr / libexec / java_home -v9)

Et ajoutez les alias suivants:

alias java7 = 'export JAVA_HOME = $ JAVA_HOME_7'

alias java8 = 'export JAVA_HOME = $ JAVA_HOME_8'

alias java9 = 'export JAVA_HOME = $ JAVA_HOME_9'

Et peut passer à la version requise en utilisant l'alias:

Dans le terminal:

~ >> java7 export JAVA_HOME=$JAVA_7_HOME


oui, cela a été couvert dans une autre réponse ici.
Jayson Minard

3

Une autre alternative utilise 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 ...

  1. Installez Oracle JDK 8 avec: sdk install java 8.0.181-oracle
  2. Installez OpenJDK 11 avec: sdk install java 11.0.0-open

Commuter:

  • Passez au JDK 8 avec sdk use java 8.0.181-oracle
  • Passez au JDK 11 avec sdk use java 11.0.0-open

Pour définir une valeur par défaut:

  • Par défaut sur JDK 8 avec sdk default java 8.0.181-oracle
  • Par défaut sur JDK 11 avec sdk default java 11.0.0-open

3

Avec Homebrew et jenv:

Hypothèse: machine Mac et vous avez déjà installé homebrew.

Installez le tonneau:

$ brew tap caskroom/cask
$ brew tap caskroom/versions

Pour installer le dernier java:

$ brew cask install java

Pour installer java 8:

$ brew cask install java8

Pour installer java 9:

$ brew cask install java9

Si vous souhaitez installer / gérer plusieurs versions, vous pouvez utiliser 'jenv':

Installez et configurez jenv:

$ brew install jenv
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

Ajoutez le java installé à jenv:

$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.11.0_2.jdk/Contents/Home

Pour voir tous les java installés:

$ jenv versions

La commande ci-dessus donnera la liste des java installés:

* system (set by /Users/lyncean/.jenv/version)
1.8
1.8.0.202-ea
oracle64-1.8.0.202-ea

Configurez la version java que vous souhaitez utiliser:

$ jenv global oracle64-1.6.0.39

1
Error: caskroom/cask was moved. Tap homebrew/cask-cask instead, puisfatal: repository 'https://github.com/Homebrew/homebrew-cask-cask/' not found
ChumiestBucket

ce que @ChumiestBucket a dit - cette solution a plusieurs problèmes
javadba

1

À mon humble avis, il n'est pas nécessaire d'installer toutes les applications / packages supplémentaires.

Vérifiez les versions disponibles à l'aide de la commande:

> /usr/libexec/java_home -V
Matching Java Virtual Machines (8):
    11, x86_64: "Java SE 11-ea" /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.0.1, x86_64:  "Java SE 9.0.1" /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
    1.8.0_181-zulu-8.31.0.1, x86_64:    "Zulu 8"    /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
    1.8.0_151, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
    1.7.0_80, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
    1.6.0_65-b14-468, x86_64:   "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_65-b14-468, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

Maintenant, si vous souhaitez choisir Azul JDK 8 dans la liste ci-dessus, et NON Java SE 8 d'Oracle, appelez la commande comme ci-dessous:

> /usr/libexec/java_home -v 1.8.0_181
/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home

Pour choisir Java SE 8 d'Oracle, vous devez invoquer la commande:

> /usr/libexec/java_home -v 1.8.0_151
/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home

Comme vous pouvez le voir, le numéro de version fourni doit être l'ensemble unique de chaînes: 1.8.0_181 vs 1.8.0_151


Le premier exemple ne devrait-il pas avoir une chaîne de version 1.8.0_181-zulu-8.31.0.1? ou s'agit-il d'une correspondance partielle?
Jayson Minard

Cela ne change en fait rien pour utiliser la version de Java, il indique simplement l'emplacement du JAVA_HOME. La commutation manuelle à l'aide de ces commandes est traitée dans mon autre réponse.
Jayson Minard
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.