Saltar al contenido

JAVA_HOME incorrecto después de actualizar a macOS Big Sur v11.0.1

Solución:

Parece que en macOS Big Sur v11.0.1 el comportamiento del /usr/libexec/java_home -v ... El comando ha cambiado: es sensible al valor previamente establecido de JAVA_HOME Variable ambiental.

El comportamiento exacto no está claro, no pude encontrar ninguna documentación sobre esto, pero en mis experimentos informó que la versión ya estaba configurada JAVA_HOME, a pesar de -v cambiar:

% JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home /usr/libexec/java_home -v 1.8.0_162
/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home

Además, noté que no informa nada, si JAVA_HOME está configurado, pero no apunta a una casa Java válida (también para -V):

% JAVA_HOME=dummy /usr/libexec/java_home -v 1.7.0_45
% JAVA_HOME=dummy /usr/libexec/java_home -V
%

La solución es asegurar JAVA_HOME es no establecer antes de ejecutar /usr/libexec/java_home:

% unset JAVA_HOME ; /usr/libexec/java_home -v 1.8.0_162
/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home

Como lo intenté. Acabo de borrar el /Library/Internet Plug-Ins/JavaAppletPlugin.plugin y volver a iniciar sesión. Entonces todo funciona bien.

Tengo Big Sur 11.2.1 del 18.02.2021. Tuve el mismo problema con la configuración de la ruta JAVA_HOME. Después de leer mucha información, resolví mi problema con lo siguiente:

Instale JDK 8: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html Java SE Development Kit 8u281

Instálelo como de costumbre en su MacOS Big Sur.

Verifique la versión de JDK:

java -version
java version "1.8.0_281"
Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode)

Compruebe qué versiones de JDK ya están instaladas en su máquina:

/usr/libexec/java_home -V 
Matching Java Virtual Machines (2):
    1.8.281.09 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
    1.8.0_281 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Home
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

Obtenga solo uno que necesita:

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

En Catalina y Big Sur, hay Z-shell, para agregar variables de entorno como JAVA_HOME hay dos archivos para eso: ~ / .zshenv y ~ / .zshrc, no pude hacer que funcione con el primero. Funcionó para mí así:

nano ~/.zshrc

Agregue a ese archivo esta línea:

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

Presione Ctrl + X y guarde los cambios.

Luego ejecute el comando para aplicar los cambios a la terminal actual:

source ~/.zshrc

Después de eso, puede verificar si todo funciona con el comando:

echo $JAVA_HOME
it will print you: /Library/Java/JavaVirtualMachines/jdk1.8.0_281.jdk/Contents/Home

Reinicie su terminal y los programas que usarán la variable JAVA_HOME. Para mí fue Android Studio. Ahora todo funciona bien. Soy nuevo en Mac OS y me tomó 4 horas resolver esto. Con Windows se hace en un minuto 🙂

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *