¿Cómo configurar la variable de entorno JAVA_HOME en Mac OS X 10.9?


135

Acabo de comprar una nueva MacBook Pro.

Este es mi primer MAC y todavía estoy tratando de acostumbrarme a navegar.

De todos modos, también soy nuevo en Java y he estado practicando en mi PC con Windows antes de que muriera permanentemente.

Ahora que estoy en este MAC, instalé mi JDK y ahora necesito configurar la JAVA_HOMEvariable de entorno.

No tengo ni idea de qué hacer.

Intenté seguir algunas de estas guías y no llegué muy lejos.

  1. Mkyong.com: Cómo configurar la variable JAVA_HOME en Mac OSX

  2. YouTube: cómo configurar variables de entorno en mac, linux, solaris, rhel

  3. YouTube: cómo establecer variables de entorno en Mac

Pude localizar el terminal y creo que creé algunos archivos múltiples. Recibo mensajes como este:


(1) Otro programa puede estar editando el mismo archivo. Si este es el caso, tenga cuidado de no terminar con dos instancias diferentes del mismo archivo al hacer cambios. Salga o continúe con precaución.


(2) Se bloqueó una sesión de edición para este archivo. Si este es el caso, use ": recovery" o "vim -r /Users/Erwin/.bash_profile" para recuperar los cambios (consulte ": ayuda a la recuperación"). Si ya hizo esto, elimine el archivo de intercambio "/Users/Erwin/.bash_profile.sw p" para evitar este mensaje.

¿Alguien puede decir cómo configurar Java en el entorno Mac OSX paso a paso?




Respuestas:


327

Literalmente, todo lo que tienes que hacer es:

echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile

y reinicia tu shell.

Si tiene instaladas varias versiones de JDK y desea que sea una específica, puede usar el -vindicador para que le java_homeguste:

echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.7)" >> ~/.bash_profile

1
Cuando dice "shell", ¿quiere decir que cierro la ventana de terminal y la vuelvo a abrir? Además, ¿esto agrega permanentemente la variable de entorno para mi jdk?
— islander_zero

1
Sí, a eso me refiero. Y sí, eso agregará la variable para todos los shells de inicio de sesión para su usuario (es decir, casi todas las circunstancias en las que lo desearía)
— Adrian Petrescu

13
Creo que en lugar de reiniciar el terminal si lo hace source ~/.bash_profilefuncionaría, ¿verdad?
— Shobhit Puri

2
@ShobhitPuri Sí, lo haría, solo quería que fuera simple para el autor de la pregunta.
— Adrian Petrescu

44
echo export "JAVA_HOME=\$(/usr/libexec/java_home -v 1.7)" >> ~/.bash_profileSi necesitas una versión específica. 1.7 en este caso.
— sebastian

26

Lo hice poniendo

export JAVA_HOME=`/usr/libexec/java_home`

(backtics) en mi .bashrc. Vea mi comentario sobre la respuesta de Adrian.


15

En Mac OSX 10.5 o posterior, Apple recomienda configurar $JAVA_HOME variable to /usr/libexec/java_home, simplemente exportar $JAVA_HOME in file ~/. bash_profileo ~/.profile.

Abra la terminal y ejecute el siguiente comando.

$ vim .bash_profile

export JAVA_HOME=$(/usr/libexec/java_home)

guarde y salga del editor vim, luego ejecute el comando fuente en .bash_profile

$ source .bash_profile

$ echo $JAVA_HOME

/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home

11

Establezca la variable de entorno $ JAVA_HOME en Mac OSX más reciente o más antiguo.

Descargue e instale instalar JDK

  1. Primero, instale JDK
  2. Versión de java de verificación de terminal abierta

$ java -version

Establecer variable de entorno JAVA_HOME

  1. Abrir archivo .zprofile

$ open -t .zprofile

O crear . archivo zprofile

PS open -t .zprofile

  1. escribir en .zprofile

export JAVA_HOME=$(/usr/libexec/java_home)

Guarde .zprofile y cierre el archivo bash y luego escriba en el terminal para trabajar perfectamente .

$ source .zprofile

Prueba de configuración en terminal

$ echo $JAVA_HOME  
/Library/Java/JavaVirtualMachines/jdk-13.0.1.jdk/Contents/Home

1
También tenía una pregunta sobre qué es "/ usr / libexec / java_home". Respuesta: medium.com/zendesk-engineering/…
— ekar

1
/ usr / libexec / java_home es la forma más sencilla de mantener JAVA_HOME en macOS. Puede usar java_home para: Buscar todos los JDK instalados.
— Shomu

7

Se recomienda verificar el shell de terminal predeterminado antes de establecer la variable de entorno JAVA_HOME , mediante los siguientes comandos:

$ echo $SHELL
/bin/bash

Si su terminal predeterminado es / bin / bash (Bash), entonces debe usar el método @Adrian Petrescu .

Si su terminal predeterminado es / bin / zsh (Z Shell), debe configurar estas variables de entorno en el archivo ~ / .zshenv con los siguientes contenidos:

export JAVA_HOME="$(/usr/libexec/java_home)"

Del mismo modo, cualquier otro tipo de terminal no mencionado anteriormente, debe establecer la variable de entorno en su respectivo archivo env de terminal.


4

Lo hice funcionar agregando a ~ / .profile. De alguna manera, después de actualizar a El Capitan beta, no funcionó a pesar de que JAVA_HOME se definió en .bash_profile.

Si hay usuarios beta de El Capitan, intente agregar a .profile


2
¿Cuál es la diferencia entre .profile y .bash_profile?
— IgorGanapolsky

3
La idea es que .profile se ejecuta para todos los shells (sh, zsh, lo que sea); .bash_profile, solo para bash shells.
— JohnL4

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.