(Resuelto) La variable de entorno java_home no se define correctamente en macOS

(Resuelto) La variable de entorno java_home no se define correctamente en macOS

Java_Home es una variable de entorno utilizada por varias aplicaciones basadas en Java para ubicar JVM (JDK) en cualquier sistema. Del mismo modo, Maven también requirió que el Java_Home se establezca correctamente en su sistema.

El problema:

Cuando intenté verificar la versión Maven en nuestra PC macOS, recibí el siguiente error en la salida.

MVN -Versión  La variable de entorno Java_Home no se define correctamente, esta variable de entorno es necesaria para ejecutar este programa. 
Error: la variable de entorno Java_Home no está definida correctamente

La solución:

Como el mensaje de error muestra claramente que la variable de entorno Java_Home no está configurada en mi PC. Entonces, la solución simple es configurarla correctamente. Use los pasos a continuación para resolver este problema.

El macOS 10.5 (Catalina) y la versión posterior usa el ZSH como el shell predeterminado. La versión anterior usa el shell bash. Entonces, primero es identificar el shell que se ejecuta en su sistema. Abra una terminal y tipo:

Echo $ shell  

Para Zsh La salida será /bin/zsh y para el Intento shell La salida será /bin/bash.

Ahora, establezca la variable de entorno Java_Home en función del shell activo:

  • ZSH (/bin/zsh): Editar el ~/.zshenv archivo y agregar el siguiente código.
    ~/.zshenv exporta java_home = $ (/usr/libexec/java_home) 
  • Bash (/bin/bash): Editar el ~/.bash_profile archivo y agregar el siguiente código.
    ~/.bash_profile exporta java_home = $ (/usr/libexec/java_home) 

Esto debería resolver el problema en su sistema. Para confirmar, abra un nuevo shell e imprima el valor variable de entorno Java_Home y también confirme con el comando que estaba recibiendo el error.

echo $ java_home  MVN -Versión  
Resuelto: Java_Home no está definido correctamente

Nota: Si el problema aún no se resuelve después de configurar la variable de entorno correctamente, asegúrese de que otros scripts no lo están anulando. Puede encontrar el orden de la ejecución de script aquí.