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!


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


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

¿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)

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)


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


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


-2

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

Esto simplemente resolverá su problema.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.