Cómo degradar Java de 9 a 8 en un MACOS. Eclipse no se ejecuta con Java 9

94

Cómo degradar Java de 9 a 8 en macOS Sierra 10.12.6 (16G29). Intenté eliminar el complemento de Java e instalé Java 8, sin embargo, la versión de Java y javac muestra 9 en la terminal, pero en las preferencias del sistema es 8. ¡Gracias de antemano!

AprendizajeNuevo
fuente
La versión de MacOS puede ser relevante; considere editar y agregar eso a la pregunta (no publicar como comentario).
AJNeufeld

Respuestas:

304

No es necesario que bajes la nota. Puede ejecutar más de una versión de Java en MacOS. Puede configurar la versión de su terminal con este comando en 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)

Puede establecer el valor predeterminado en .bashrc, .profile o .zprofile

mdeterman
fuente
3
¡Muchas gracias, eso me ayudó! Es una pena que el Panel de control de Java en MacOS no exponga configuraciones como esta.
sesión del
¿Podría elaborar su respuesta? ¿Qué /usr/libexec/java_home -v 11significa?
Sandeepan Nath
1
Haciendo export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)y export JAVA_HOME=$(/usr/libexec/java_home -v 1.8.0_211)no resuelve mi problema. Ya reinicié mi terminal también.
HendraWD
143

Así es como lo hice. No es necesario eliminar Java 9 o una versión más reciente.

Paso 1: instalar Java 8

Puede descargar Java 8 desde aquí: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Paso 2: Después de la instalación de Java 8. Confirme la instalación de todas las versiones. Escriba el siguiente comando en su terminal.

/usr/libexec/java_home -V

Paso 3: Edite .bash_profile

sudo nano ~/.bash_profile

Paso 4: agregue 1.8 como predeterminado. (Agregue la siguiente línea al archivo bash_profile).

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

Ahora presione CTRL + X para salir del bash. Presione 'Y' para guardar los cambios.

Paso 5: recargar bash_profile

source ~/.bash_profile

Paso 6: Confirme la versión actual de Java

java -version
VK321
fuente
¿Es posible cambiar la versión de javaws de la misma manera? Porque java -version informa que cambió, pero javaws aún se ejecuta más nuevo disponible.
lapkritinis
11

Si tienes varias versiones de Java instaladas en tu Mac, aquí tienes una forma rápida de cambiar la versión predeterminada usando Terminal. En este ejemplo, voy a cambiar Java 10 a 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

Luego, en su .bash_profile agregue lo siguiente.

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

Ahora, si vuelve a intentar java -version, debería ver la versión que desea.

$ 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
fuente
4

Como permite instalar más de una versión de Java, tuve que instalar muchas 3 versiones sin saberlo, pero apuntaba a la última versión "11.0.2".

Pude resolver este problema con los pasos a continuación para pasar a "1.8"

$java -version

openjdk versión "11.0.2" 2019-01-15 OpenJDK Runtime Environment 18.9 (compilación 11.0.2 + 9) OpenJDK 64-Bit Server VM 18.9 (compilación 11.0.2 + 9, modo mixto)

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

versión de java "1.8.0_202-ea" Java (TM) SE Runtime Environment (compilación 1.8.0_202-ea-b03) Java HotSpot (TM) 64-Bit Server VM (compilación 25.202-b03, modo mixto)

keshav
fuente
Evitaría eliminar archivos en su sistema. En su lugar, simplemente redirija la $JAVA_HOMEvariable env.
simeg
3

Pregunta anterior, pero acabo de tener ese problema / la tonta jira tiene problemas con java 10 / y no encontré una respuesta simple aquí, así que la dejaré:

$ /usr/libexec/java_home -Vmuestra las versiones instaladas y sus ubicaciones para que pueda eliminarlas /Library/Java/JavaVirtualMachines/<the_version_you_want_to_remove>. Voila

Dan
fuente
1

La solución más simple podría ser instalar Java 8 en paralelo a Java 9 (si aún no existe) y especificar la JVM que se utilizará explícitamente en eclipse.ini. Puede encontrar una descripción de esta configuración, incluida una descripción de cómo buscar eclipse.inien una Mac en Eclipsepedia

Lothar
fuente
-2

Puede eliminar "JavaAppletPlugin.plugin" que se encuentra en Spotlight o Finder, luego reinstalar Java 8 descargado.

Esto simplemente resolverá su problema.

holosuda
fuente