¿Dónde está instalado Java en Mac OS X?

728

Acabo de descargar Java 7u17 en Mac OS 10.7.5 desde aquí y luego lo instalé con éxito. Para hacer algo de programación JNI, necesito saber dónde está instalado Java en mi Mac.

Pensé que dentro de la /Library/Java/JavaVirtualMachines/carpeta, habría una carpeta llamada 1.7.0.jdko algo así, pero luego descubrí que la carpeta está vacía. Esto se confirmó corriendo ls /Library/Java/JavaVirtualMachines/en la Terminal. Intenté buscarlo para averiguar si estaba instalado en otro lugar, pero eso no parece estar revelando nada.

¿Podría alguien decirme dónde está instalado Java en mi Mac?

Forja del Trueno
fuente
12
Para cerrar votantes / reapertores: esta pregunta no está explícitamente fuera de tema (preguntas sobre herramientas comúnmente utilizadas por los programadores) . Desafortunadamente, se subió a la banda por meta .
Rob

Respuestas:

1385

Use el /usr/libexec/java_home -v 1.8comando en un shell de terminal para averiguar dónde está su directorio de inicio de Java 1.8

Si solo desea encontrar el directorio de inicio de su versión más reciente de Java, omita la versión. p.ej/usr/libexec/java_home

gerrytan
fuente
Llegué a esta pregunta porque recibía un error en eclipse en mi Mac porque recibía un error en la primera línea del programa "import java.util. *". Sospecho firmemente que esto se debe a que la ruta de Java no está configurada correctamente o algo así (aunque configuré esto una vez antes). Ingresé el comando en esta respuesta y obtengo un directorio. ¿Puedo pegar ese directorio en el cuadro de texto en la ventana "Configuración de carpeta de biblioteca nativa"? ¿O este directorio pertenece a otro lugar?
OKGimmeMoney
47
Se agregó export JAVA_HOME=`/usr/libexec/java_home`a .bash_profile para que JAVA_HOME esté siempre configurado (tenga en cuenta los tics posteriores del comando libexec)
Steve Henty
Si solo quiere saber si el JDK está instalado en su Mac, omita el número de versión y ejecute desde el terminal: $ echo $ (/ usr / libexec / java_home)
Donato
3
En Mac 10.12.3, deberíamos /usr/libexec/java_home -- vmostrar la versión más reciente de java
klion26
117

Puede usar el echo $(/usr/libexec/java_home)comando en su terminal para conocer la ruta donde se está instalando Java.

Pavithra Gunasekara
fuente
77
Esta solución me gusta más que la respuesta aceptada porque es independiente de la versión de JVM instalada.
Alexandre Santos
1
Esto no encontró mi versión de Java 8 instalada por Oracle.
Antoine Lizée
13
¿Por qué tienes el echo $(...)allí? ¿No solo /usr/libexec/java_homehace lo mismo?
Paŭlo Ebermann
1
La respuesta aceptada no funcionó para mí, ¡pero funcionó! (Normalmente no soy un usuario de Mac / Unix)
Roel
@ PaŭloEbermann No funciona para mí sin el signo dolar y los corchetes.
Nikola Stojaković
80

Resulta que en realidad tenía el Java 7 JRE instalado, no el JDK. El enlace de descarga correcto está aquí . Después de instalarlo, jdk1.7.0jdkaparece en el directorio JavaVirtualMachines.

Forja del Trueno
fuente
49
Para mí, fue bajo /Library/Java/JavaVirtualMachines/jdk1.7.0_60.jdk(a sabiendas de que para el JDK 1.6 la ruta es: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/)
Zakaria
¡Muchas gracias! No me di cuenta de que tenía JRE instalado por accidente tampoco xD
Oliver Ni
1
export JAVA_HOME = $ (/ usr / libexec / java_home) en ~ / .bash_profile
Oleksii Kyslytsyn
34

Si instala solo el JRE, parece estar en:

/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
Morrie
fuente
2
No debe confiar en esto existente. Si necesita el JRE, agrúpelo dentro de su propia aplicación.
swingler
¡Establecer JAVA_HOME con una ruta que contiene un carácter de espacio es un desafío! No tuve éxito ...
Antoine Rosset
puede crear en algún lugar un enlace a este directorio y configurar JAVA_HOME para ese enlace
Kuba
Aquí es donde el panel de Preferencias del Sistema "Java" parece instalarlo.
David Avendasora
2
@AntoineRosset, puede configurarlo de esta manera:export JAVA_HOME=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
coda
24

Use la función de búsqueda de Unix para encontrar javas instaladas ...

sudo find / -name java
serkan
fuente
19
No necesita sudo para ejecutar find para comandos accesibles en general. Si no desea ver los mensajes de error sobre directorios inaccesibles, deshágase de los mensajes en lugar de utilizar innecesariamente root privs. Usar sudo todo el tiempo es un mal hábito. Redireccionar stderr a / dev / null, así: find / -name java 2> / dev / null
Walter Underwood
1
¿Qué debo hacer si también necesito buscar en directorios inaccesibles?
serkan
2
El punto de Walter es que el javabinario será legible en todo el mundo, por sudolo tanto, no es necesario. Tu respuesta sigue siendo útil :)
Jared Beck
Sí, acabo de usar esto para encontrar src.zip (el código fuente del java jdk)
Dinis Cruz
export JAVA_HOME = $ (/ usr / libexec / java_home) en ~ / .bash_profile
Oleksii Kyslytsyn
22

Pruebe esto, es una manera fácil de encontrar la ruta instalada de Java en Mac OS X,

Ir

1) / Biblioteca, es decir, Macintosh HD / Biblioteca

ingrese la descripción de la imagen aquí

2) Haga clic en Biblioteca en la que encontramos la carpeta Java.

ingrese la descripción de la imagen aquí

3) Entonces el camino final es

/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home

Espero que esto sea ayuda para alguien.

Jaywant Khedkar
fuente
1
Bastante útil cuando tiene que señalar el JDK explícitamente desde un IDE. Gracias
Shwetabh Shekhar
¿Qué tan denso soy? Mi terminal dice que tengo 2 JDK instalado en / Library / Java / JavaVirtualMachines / pero no puedo encontrarlos cuando vaya a dicho directorio en el buscador de ... ¿Cómo puedo obtener densa ...
SoftwareSavant
@SoftwareSavant, ref stackoverflow.com/a/14875241 respuesta, puede ser de ayuda.
Jaywant Khedkar
19

La estructura del paquete Java de Mac OS es un poco diferente de Windows. No se enoje por esto, ya que un desarrollador solo necesita configurarlo PATHy JAVA_HOME.

Entonces en .bash_profileconjunto JAVA_HOMEy PATHcomo a continuación. Este ejemplo es para Java 6:

export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
export PATH=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin:$PATH
Bimales Mandal
fuente
12
¿Esto elimina todo lo demás del camino? Haga esto solo si solo está utilizando Java y nada más en su sistema.
Paŭlo Ebermann
export JAVA_HOME = $ (/ usr / libexec / java_home) en ~ / .bash_profile.
Oleksii Kyslytsyn
17

Si escribes

java -verbose 

Esto también proporciona la ubicación desde la que se cargan los tarros y, por lo tanto, también la ruta de Java.

jones j alapat
fuente
Agregué export JAVA_HOME = $ (/ usr / libexec / java_home) en ~ / .bash_profile.
Oleksii Kyslytsyn
8

Editado: Alias ​​a la versión actual de Java es /Library/Java/Home

Para más información: un enlace

manny
fuente
Eso sería un alias para la versión más reciente, que apuntaría correctamente a Java 7 SDK una vez que esté instalado.
Thunderforge
1
Este enlace solo existe para fines heredados y no se actualizará instalando Java 7. No utilice esta ruta.
swingler
Actualicé export JAVA_HOME = $ (/ usr / libexec / java_home) en ~ / .bash_profile.
Oleksii Kyslytsyn
8

solo escribe /Library/Java/JavaVirtualMachines/
en Ir a la carpeta -> Ir en Finder

Mina Fawzy
fuente
ok, acabo de probar esto y logré navegar al directorio. ¿Por qué no puedo navegar a esa carpeta normalmente en Finder? ¿Es esto solo que Apple es más molesto ... También más molesto, Gradle versión 4.3 no funciona con ninguna versión de Java excepto Java 8
SoftwareSavant
export JAVA_HOME = $ (/ usr / libexec / java_home) en ~ / .bash_profile
Oleksii Kyslytsyn
6

Acabo de instalar el JDK para la versión 21 de Java SE 7 y descubrí que está instalado en un directorio diferente del Java 6. Está en / Library / Java ... en lugar de / System / Library / Java ... Ejecutar / usr / libexec / java_home -v 1.7 versus -v 1.6 confirmará esto.

Tony Kroch
fuente
export JAVA_HOME = $ (/ usr / libexec / java_home) en ~ / .bash_profile
Oleksii Kyslytsyn
6

Intenté la solución de serkan, encontró la ubicación de java 7 en OS X Mavericks. está residente "/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/" pero para convertirlo en el JDK predeterminado tuve que establecer la variable de sistema JAVA_HOME en .bash_profile en el directorio de inicio para "/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/" que esté en funcionamiento ahora gracias a la idea de serkan

Mehdi
fuente
export JAVA_HOME = $ (/ usr / libexec / java_home) en ~ / .bash_profile.
Oleksii Kyslytsyn
5

Por :

  • OS X: 10.11.6

  • Java: 8

Confirmo la respuesta de @Morrie.

   export JAVA_HOME=/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home;

Pero si está ejecutando contenedores, su vida será más fácil

Abdennour TOUMI
fuente
2
Creo que esto debería haber sido un comentario.
Thunderforge
1
No lo creo, porque hay un valor agregado que es `export JAVA_HOME =`. ... ¿Qué hay de ti @ Thunderforge
Abdennour TOUMI
export JAVA_HOME = $ (/ usr / libexec / java_home) en ~ / .bash_profile.
Oleksii Kyslytsyn
3

escriba which javaterminal para mostrar dónde está instalado.

Pranay Aryal
fuente
1
Sí, exporte JAVA_HOME = $ (/ usr / libexec / java_home) a ~ / .bash_profile.
Oleksii Kyslytsyn
-1

Las Preferencias del sistema, luego el panel de control de Java, luego Java y luego Ver, mostrarán la ubicación exacta del JRE predeterminado actualmente instalado.

PaulNUK
fuente
export JAVA_HOME = $ (/ usr / libexec / java_home) en ~ / .bash_profile
Oleksii Kyslytsyn