Muchas aplicaciones Java que utilizan scripts de shell para configurar su entorno utilizan la JAVA_HOME
variable de entorno para iniciar la versión correcta de Java, ubicar JAR JAR, etc.
En macOS X 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 VM actual actual (como se define en el panel de preferencias de Java).
Pero, ¿cuál debería usarse, o está bien usar alguno de ellos?
java
macos
configuration
Robert Christie
fuente
fuente
Respuestas:
Acabo de configurar
JAVA_HOME
la salida de ese comando, que debería darle la ruta de Java especificada en sus preferencias de Java. Aquí hay un fragmento de mi.bashrc
archivo, que establece esta variable:No he tenido ningún problema con esa técnica.
De vez en cuando tengo que cambiar el valor de
JAVA_HOME
una versión anterior de Java. Por ejemplo, un programa que mantengo requiere Java 5 de 32 bits en OS X, así que cuando uso ese programa, configuroJAVA_HOME
ejecutando:Para aquellos de ustedes que no tienen
java_home
en su camino, agréguelo así.referencias :
Oracle explica el comando java_home
Un artículo para configurar el JDK en Spring Tool Suite (Eclipse 2019) en MacOS
fuente
Además, es interesante configurar su RUTA para reflejar el JDK. Después de agregar JAVA_HOME (que se puede hacer con el ejemplo citado por 'mipadi'):
export JAVA_HOME=$(/usr/libexec/java_home)
Agregue también en ~ / .profile:
export PATH=${JAVA_HOME}/bin:$PATH
PD: para OSX, generalmente uso .profile en el directorio HOME en lugar de .bashrc
fuente
.bash_profile
, ¿por qué usas el genérico.profile
?.profile
es genérico, funcionará consh
obash
, mientras que.bash_profile
es exclusivo debash
. Además, esto aísla la configuración de las aplicaciones que usan.bash_profile
, comoMacPorts
. Pero puedes usar cualquiera de los dos de manera segura. Ver más sobre esto aquí.bash_profile
anulaciones.profile
..bash_profile
es específico, mientras que.profile
es genérico, para todas lassh
variaciones.java
en su,/usr/bin
no debería ser necesario agregar explícitamente$JAVA_HOME
a su ruta.Tengo MAC OS X (Sierra) 10.12.2 .
Configuré JAVA_HOME para que funcione en React Native (para aplicaciones de Android) siguiendo los siguientes pasos.
Abra la Terminal (Comando + R, escriba Terminal, presione ENTER).
Agregue las siguientes líneas a ~ / .bash_profile .
export JAVA_HOME=$(/usr/libexec/java_home)
Ahora ejecuta el siguiente comando.
source ~/.bash_profile
Puede verificar el valor exacto de JAVA_HOME escribiendo el siguiente comando.
echo $JAVA_HOME
El valor (salida) devuelto será algo como a continuación.
/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
Eso es.
fuente
$JAVA_HOME
hace referencia$(/usr/libexec/java_home)
y$(/usr/libexec/java_home)
es internamente referido/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
por el Sistema.Estoy en Mac OS 10.6.8
La solución más fácil para mí es simplemente poner
Para probar si funciona, coloque
muestra
también puedes probar
fuente
Hoy en día Java parece estar instalado en
/Library/Java/JavaVirtualMachines
fuente
Tiendo a usar
/Library/Java/Home
. La forma en que funciona el panel de preferencias debe estar actualizada con su versión preferida.fuente
¡Lo anterior ya no funciona en YOSEMITE para APLICACIONES GRÁFICAS! Como eclipse, o cualquier cosa que comenzó con Spotlight. (.bash_profile, launchd.conf funciona solo para sesiones de terminal). Antes de comenzar el eclipse, simplemente abra una ventana de terminal y emita el siguiente comando:
(¡Con su ruta de instalación! Quizás funcione con $ (/ usr / libexec / java_home) en lugar de la ruta completa también.)
Vea el excelente artículo completo sobre la solución permanente aquí: ¿ Establecer variables de entorno a través de launchd.conf ya no funciona en OS X Yosemite / El Capitan / macOS Sierra?
fuente
He encontrado esta pila para ayudar, estaba teniendo el mismo problema y podía solucionarlo:
Mi camino java estaba aquí:
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
y fue necesario poner en mi
.bash_profile
:export JAVA_HOME=\"/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home\"
Espero ayuda
fuente
Omitiendo la configuración de Terminal desde que mencionó las aplicaciones, configuración variable de entorno del sistema permanente (funciona para macOS Sierra; también debería funcionar para El Capitan):
(esto establecerá JAVA_HOME en el último 1.8 JDK, es probable que haya pasado por varias actualizaciones, por ejemplo, javac 1.8.0_101, javac 1.8.0_131)
Por supuesto, cambie 1.8 a 1.7 o 1.6 (¿realmente?) para satisfacer sus necesidades y su sistema
fuente
Como señalan otras respuestas, la forma correcta de encontrar el directorio de inicio de Java es usar
/usr/libexec/java_home
.La documentación oficial para esto se encuentra en las Preguntas y respuestas técnicas de Apple QA1170: Directorios importantes de Java en OS X : https://developer.apple.com/library/mac/qa/qa1170/_index.html
fuente
Para mí, Maven parece funcionar fuera del
.mavenrc
archivo:Estoy seguro de que también lo aprendí en SO, solo que no recuerdo dónde.
fuente
Crea un archivo
~/.mavenrc
luego pegue esto en el archivo
export JAVA_HOME=$(/usr/libexec/java_home)
prueba
mvn -v
fuente
Se recomienda verificar el shell de terminal predeterminado antes de establecer la variable de entorno JAVA_HOME , a través de los siguientes comandos:
Si su terminal predeterminado es / bin / bash (Bash), entonces debe usar el método @hygull
Si su terminal predeterminado es / bin / zsh (Z Shell), debe configurar estas variables de entorno en el archivo ~ / .zshenv con los siguientes contenidos:
Del mismo modo, cualquier otro tipo de terminal no mencionado anteriormente, debe establecer la variable de entorno en su respectivo archivo env de terminal.
Este método probó funcionar en macOS Mojave Versión 10.14.6 .
fuente
Para los usuarios de Fish Shell, use algo como lo siguiente:
alias java7 "set -gx JAVA_HOME (/usr/libexec/java_home -v1.7)"
fuente