Comment rétrograder Java de 9 à 8 sur un MACOS. Eclipse ne fonctionne pas avec Java 9

94

Comment rétrograder Java de 9 à 8 sur un macOS Sierra 10.12.6 (16G29). J'ai essayé de supprimer le plugin Java et j'ai installé Java 8, mais la version Java et javac affiche 9 dans le terminal, mais dans les préférences système, c'est 8. Merci d'avance!

ApprentissageNouveau
la source
La version de MacOS peut être pertinente; envisagez de modifier et d'ajouter cela à la question (ne pas publier en tant que commentaire).
AJNeufeld
avez-vous jeté un œil à wiki.eclipse.org/Configure_Eclipse_for_Java_9 ?
violoncelle

Réponses:

304

Vous n'avez pas besoin de descendre. Vous pouvez exécuter plusieurs versions de Java sur MacOS. Vous pouvez définir la version de votre terminal avec cette commande sous MacOS.

# List Java versions installed
/usr/libexec/java_home -V

# Java 11
export JAVA_HOME=$(/usr/libexec/java_home -v 11)

# Java 1.8
export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

# Java 1.7
export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)

# Java 1.6
export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)

Vous pouvez définir la valeur par défaut dans le .bashrc, .profile ou .zprofile

mdeterman
la source
3
Merci beaucoup, cela m'a aidé! C'est dommage que le panneau de configuration Java sous MacOS n'expose pas de tels paramètres.
sesm
Pouvez-vous préciser votre réponse? Que veut /usr/libexec/java_home -v 11dire?
Sandeepan Nath
1
Faire export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)et export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0_211)ne résout pas mon problème. Déjà redémarré mon terminal également.
HendraWD
143

Voilà comment je l'ai fait. Vous n'avez pas besoin de supprimer Java 9 ou une version plus récente.

Étape 1: Installez Java 8

Vous pouvez télécharger Java 8 à partir d'ici: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Étape 2: Après l'installation de Java 8. Confirmez l'installation de toutes les versions. Tapez la commande suivante dans votre terminal.

/usr/libexec/java_home -V

Étape 3: Modifiez .bash_profile

sudo nano ~/.bash_profile

Étape 4: ajoutez 1.8 par défaut. (Ajoutez la ligne ci-dessous au fichier bash_profile).

export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)

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
VK321
la source
Est-il possible de changer la version de javaws de la même manière? Parce que java -version rapporte qu'il a changé, mais javaws fonctionne toujours le plus récent disponible.
lapkritinis
11

Si plusieurs versions de Java sont installées sur votre Mac, voici un moyen rapide de changer la version par défaut à l'aide de Terminal. Dans cet exemple, je vais passer de Java 10 à Java 8.

$ java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    10.0.1, x86_64: "Java SE 10.0.1"    /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home
    1.8.0_171, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home

Ensuite, dans votre .bash_profile, ajoutez ce qui suit.

# Java 8
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home

Maintenant, si vous essayez à nouveau java -version, vous devriez voir la version souhaitée.

$ java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
Dorjee Dhondup
la source
4

Comme il permet d'installer plus d'une version de java, j'avais installé plusieurs 3 versions sans le savoir mais il s'agissait de la dernière version "11.0.2"

J'ai pu résoudre ce problème avec les étapes ci-dessous pour passer à "1.8"

$java -version

openjdk version "11.0.2" 2019-01-15 Environnement d'exécution OpenJDK 18.9 (build 11.0.2 + 9) VM serveur OpenJDK 64 bits 18.9 (build 11.0.2 + 9, mode mixte)

cd /Library/Java/JavaVirtualMachines
ls

jdk1.8.0_201.jdk jdk1.8.0_202.jdk openjdk-11.0.2.jdk

sudo rm -rf openjdk-11.0.2.jdk
sudo rm -rf jdk1.8.0_201.jdk
ls

jdk1.8.0_202.jdk

java -version

java version "1.8.0_202-ea" Java (TM) SE Runtime Environment (build 1.8.0_202-ea-b03) Java HotSpot (TM) 64 bits Server VM (build 25.202-b03, mode mixte)

keshav
la source
J'éviterais de supprimer des fichiers sur votre système. Au lieu de cela, redirigez simplement la $JAVA_HOMEvariable env.
simeg
3

Ancienne question mais juste eu ce problème / stupide jira ayant des problèmes avec java 10 / et je n'ai pas trouvé de réponse simple ici, alors je vais la laisser:

$ /usr/libexec/java_home -Vaffiche les versions installées et leurs emplacements afin que vous puissiez simplement les supprimer /Library/Java/JavaVirtualMachines/<the_version_you_want_to_remove>. Voila

Dan
la source
1

La solution la plus simple pourrait être d'installer Java 8 en parallèle de Java 9 (s'il n'est pas encore existant) et de spécifier la JVM à utiliser explicitement dans eclipse.ini. Vous pouvez trouver une description de ce paramètre, y compris une description de la recherche eclipse.inisur un Mac sur Eclipsepedia

Lothar
la source
-2

Vous pouvez supprimer "JavaAppletPlugin.plugin" trouvé dans Spotlight ou Finder, puis réinstaller Java 8 téléchargé.

Cela résoudra simplement votre problème.

holosuda
la source