¿Qué debo configurar JAVA HOME en OSX
Muchas aplicaciones Java que utilizan scripts de shell para configurar su entorno utilizan la variable de entorno JAVA_HOME
para iniciar la versión correcta de Java, localizar JRE JARs, etc.
En OSX 10.6, las siguientes rutas parecen ser válidas para esta variable
/Library/Java/Home
/System/Library/Frameworks/JavaVM.framework/Home
/System/Library/Frameworks/JavaVM.framework/Versions/Current
Algunos de estos son enlaces simbólicos a la máquina virtual actual (como se define en el panel de preferencias de Java).
Pero ¿cuál debe usarse-o está bien usar cualquiera de ellos?
13 answers
¿El Leopardo de las Nieves todavía tiene /usr/libexec/java_home
? En 10.5, acabo de establecer JAVA_HOME
a la salida de ese comando, que debe darle la ruta de Java especificada en sus preferencias de Java. Aquí hay un fragmento de mi archivo .bashrc
, que establece esta variable:
export JAVA_HOME=$(/usr/libexec/java_home)
No he experimentado ningún problema con esa técnica.
De vez en cuando tengo que cambiar el valor de JAVA_HOME
a una versión anterior de Java. Por ejemplo, un programa que estoy manteniendo requiere Java 5 de 32 bits en OS X, por lo que cuando se utiliza programa, he establecido JAVA_HOME
ejecutando:
export JAVA_HOME=$(/usr/libexec/java_home -v 1.5)
Para aquellos de ustedes que no tienen java_home
en su camino añádalo así.
sudo ln -s /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java_home /usr/libexec/java_home
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-06 16:48:03
Además, es interesante establecer su CAMINO para reflejar el JDK. Después de añadir JAVA_HOME (que se puede hacer con el ejemplo citado por 'mipadi'):
export JAVA_HOME=$(/usr/libexec/java_home)
Añadir también en ~/.perfil:
export PATH=${JAVA_HOME}/bin:$PATH
P.d.: Para OSX, generalmente uso .perfil en el directorio de INICIO en lugar de .bashrc
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-03-08 18:55:59
Hoy en día Java parece estar instalado en/Library/Java / JavaVirtualMachines
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-07 21:13:17
Estoy teniendo MAC OS X(Sierra) 10.12.2 .
Configuré JAVA_HOME para que funcione en React Native (para aplicaciones Android) siguiendo los siguientes pasos.
Abra Terminal (Comando + R, escriba Terminal, Presione ENTER).
Añada las siguientes líneas a ~/.bash_profile .
export JAVA_HOME=$(/usr/libexec/java_home)
Ahora ejecute el siguiente comando.
source ~/.bash_profile
Puede comprobar el valor exacto de JAVA_HOME escribiendo lo siguiente comando.
echo $JAVA_HOME
El valor(salida) devuelto será algo así como a continuación.
/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
Eso es.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-21 06:02:50
Estoy en Mac OS 10.6.8
La solución más fácil funciona para mí es simplemente poner en
$ export JAVA_HOME=$(/usr/libexec/java_home)
Para probar si funciona, poner en
$ echo $JAVA_HOME
Se muestra
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
También puede probar
$ which java
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-12 20:40:15
Tiendo a usar /Library/Java/Home
. La forma en que funciona el panel preferencias debe estar actualizada con su versión preferida.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-08-28 19:23:41
Eso de arriba ya no funciona en YOSEMITE para APLICACIONES GRÁFICAS! Como eclipse, o cualquier cosa comenzó con Spotlight. (.bash_profile, launchd.conf funciona solo para sesiones de terminal.) Antes de iniciar eclipse, simplemente abra una ventana de terminal y dé el siguiente comando:
Launchctl setenv JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents / Home
(Con la ruta de instalación! Tal vez funciona con $(/usr/libexec / java_home) en lugar de la ruta completa demasiado.)
Vea todo el excelente artículo sobre la solución permanente aquí: Estableciendo variables de entorno a través de launchd.conf ya no funciona en OS X Yosemite/El Capitan / macOS Sierra?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:02:48
He encontrado esta pila para ayudar, estaba teniendo el mismo problema y pude arreglar:
Mi ruta de Java estaba aquí:
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
Y era necesario poner en mi .bash_profile
:
export JAVA_HOME=\"/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home\"
Esperanza ayuda
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:47:29
Como señalan otras respuestas, la forma correcta de encontrar el directorio Java home es usar /usr/libexec/java_home
.
La documentación oficial para esto se encuentra en Q&A Técnica de Apple QA1170: Directorios Java importantes en OS X: https://developer.apple.com/library/mac/qa/qa1170/_index.html
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-27 15:01:35
Para mí maven parece trabajar fuera del archivo .mavenrc
:
echo "export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)" > ~/.mavenrc
Estoy seguro de que lo recogí también, simplemente no puedo recordar dónde.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-08 19:22:35
Omitiendo la configuración del terminal ya que mencionó las aplicaciones, la configuración de la variable de entorno del sistema permanente (funciona para macOS Sierra; también debería funcionar para El Capitan):
launchctl setenv JAVA_HOME $(/usr/libexec/java_home -v 1.8)
(esto establecerá JAVA_HOME a la última 1.8 JDK, lo más probable es que haya pasado por actualizaciones serveral, por ejemplo, javac 1.8.0_101, javac 1.8.0_131)
Por supuesto, cambiar 1.8 a 1.7 o 1.6 (realmente?) para satisfacer sus necesidades y su sistema
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-11 10:04:43
Crear archivo ~/.mavenrc
Luego pega esto en el archivo
export JAVA_HOME=$(/usr/libexec/java_home)
Prueba
mvn -v
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-28 18:07:17
Para los usuarios de Concha de pescado, use algo como lo siguiente: alias java7 "set -gx JAVA_HOME (/usr/libexec/java_home -v1.7)"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-28 01:01:25