Introducción
Este tutorial lo ayudará a configurar la variable de entorno JAVA_HOME en los últimos sistemas operativos macOS más antiguos. /usr/libexec/java_home es la utilidad de línea de comandos que devuelve la ruta al directorio de inicio de Java desde la configuración del usuario actual. Puede usar esta utilidad para configurar la variable de entorno JAVA_HOME en su macOS.
En un sistema operativo (SO), la variable de entorno JAVA_HOME debe configurarse para que apunte al directorio que contiene la JVM. En este tutorial, lo ayudaremos a configurar correctamente la variable de entorno JAVA_HOME en macOS.
Compruebe las versiones de Java preinstaladas
Puede encontrar los detalles de todas las versiones de Java instaladas en macOS con el siguiente comando.
/usr/libexec/java_home -V
Matching Java Virtual Machines (5):
18.0.1, x86_64: "OpenJDK 18.0.1" /Library/Java/JavaVirtualMachines/temurin-18.jdk/Contents/Home
16.0.1, x86_64: "AdoptOpenJDK 16" /Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home
15.0.1, x86_64: "AdoptOpenJDK 15" /Library/Java/JavaVirtualMachines/adoptopenjdk-15.jdk/Contents/Home
11.0.9.1, x86_64: "AdoptOpenJDK 11" /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
1.8.0_275, x86_64: "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/temurin-18.jdk/Contents/Home
Configure JAVA_HOME en macOS 10.15 y versiones posteriores
MacOS Catalina (versión 10.15) y las versiones más recientes de macOS usan Zsh como shell predeterminado. Zsh ejecuta el script ~/.zshrc
al iniciar una nueva sesión. Puede agregar su código en este archivo a la variable de entorno JAVA_HOME. Una vez que el usuario inicia sesión o abre un nuevo shell, el script establecerá la variable automáticamente.
Use uno de los siguientes comandos para configurar JAVA_HOME de acuerdo con la versión de Java requerida:
Utilice la versión predeterminada de Java:
echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.zshrc
Establezca la versión específica de Java especificándola como:
echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.8)" >> ~/.zshrc
Para usar una versión de Java diferente, simplemente reemplace 1.8 con la versión requerida, como 11, 15, 17 o 18.
Configure JAVA_HOME en macOS 10.14 Mojave y versiones anteriores
MacOS Mojave (versión 10.14) y versiones anteriores de macOS usan Bash como shell predeterminado. Bash ejecuta el script ~/.bash_profile
cada vez que se inicia. Puede configurar fácilmente la variable de entorno JAVA_HOME utilizando este archivo.
Establezca la versión de Java predeterminada:
echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile
Establecer una versión específica de Java:
echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.8)" >> ~/.bash_profile
Para usar una versión de Java diferente, simplemente reemplace 1.8 con la versión requerida, como 11, 15, 17 o 18.
Conclusión
JAVA_HOME es una variable de entorno que apunta a la ubicación del sistema de archivos donde está instalado JDK o JRE. Muchas aplicaciones Java usan esta variable para encontrar la ubicación de Java instalado en el sistema.