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

islander_zero
fuente
Duplicado de: superuser.com/questions/240100/…
Frank V
Posible duplicado de ¿Qué debo configurar JAVA_HOME en OSX?
Pascal
explique brevemente: stackoverflow.com/a/59151321/5788247
Shomu

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
Adrian Petrescu
fuente
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.

JohnL4
fuente
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
Rajesh Samson
fuente
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
Shomu
fuente
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.

Jerry Chong
fuente
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

Senthil Acs
fuente
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