¿Cómo instalar un JDK específico en Mac OS X?


197

Quiero instalar un JDK específico (el último, por ejemplo). Para esto, fui a la página de descarga de JDK: http://java.sun.com/javase/downloads/index.jsp . Busqué una versión para Mac, pero estoy un poco sorprendido de ver solo versiones descargables para Linux, Windows y Solaris ...

Aquí está el mensaje para Mac:

"Apple Computer proporciona su propia versión de Java. Use la función Actualización de software (disponible en el menú Apple) para verificar que tenga la versión más actualizada de Java para su Mac".

OK PERO ... cuando actualizo Java con Mac tengo un JRE y no un JDK ...

No entiendo por qué no existe una versión JDK que sea fácilmente descargable / instalable (como un jar para descomprimir) para Mac ...


70
Pregunta famosa ... deberías aceptar una respuesta. ;)
Gary

Fink ofrece una solución para esto.
Daniel

10
Tenga en cuenta que Java 7 ahora es suministrado por Oracle, la mayoría de las respuestas y la pregunta se refieren a un estado anterior
mmmmmm

Respuestas:


44

En un comentario bajo la respuesta de @ Thilo, @mobibob preguntó cómo configurar JAVA_HOME en su .bash_profile en una Mac. Responder:

export JAVA_HOME=`/usr/libexec/java_home` 

Esto asignará dinámicamente a JAVA_HOME la ubicación del primer JDK listado en la pestaña "General" de la utilidad "Preferencias de Java".

Consulte las preguntas y respuestas técnicas de Apple 1170: https://developer.apple.com/library/content/qa/qa1170/_index.html

EDITAR:

Si prefiere los paréntesis a los retrocesos para la sustitución de comandos, esto también funciona:

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

20

Como dice el mensaje, debe ir a Apple, no a Sun, para Java en la Mac. Hasta donde yo sé, Apple JDK 6 está instalado por defecto en Mac OS X 10.6 (Snow Leopard). Tal vez necesite instalar las herramientas del desarrollador desde el DVD de instalación de Mac OS X (las herramientas de desarrollo son una instalación opcional desde el DVD del sistema operativo).

Ver: http://developer.apple.com/java/

NOTA Esta respuesta del 16 de octubre de 2009 está desactualizada; ahora puede obtener el JDK para Mac OS X desde la página de descarga regular de JDK en el sitio web de Oracle.



10

Compré un MacBook Pro ayer ( Mac OS X v10.8 (Mountain Lion)) y no hay JDK instalado por defecto ...

Además de javac, también encontré que no tenía paquetes como SVN instalados. Resulta que puedes obtener todo de la página de desarrollador de Apple (deberás registrarte con tu AppleID). SVN es parte del paquete "Herramientas de línea de comandos".

Ingrese la descripción de la imagen aquí

Esto es lo que sucede en una MacBook nueva:

Ingrese la descripción de la imagen aquí

Ingrese la descripción de la imagen aquí

Esperemos que esto ayude a otros novatos como yo;)


55
+1. La situación ha cambiado un poco con Mountain Lion. También tenga en cuenta que si bien Apple ofrece la instalación opcional de Java, solo es de la versión anterior de Java 6. Las versiones actuales de Java para OS X ahora son distribuidas por el propio Oracle.
Thilo


4

La explicación es que JDK es un poco específico y no contiene la biblioteca tools.jar . Para mi desarrollo, necesito esta biblioteca y el JDK de Mac no la proporciona:

(Cf. http://developer.apple.com/mac/library/documentation/Java/Conceptual/Java14Development/02-JavaDevTools/JavaDevTools.html )

tools.jar no existe. Las clases que generalmente se encuentran aquí se incluyen en classes.jar. Las secuencias de comandos que se basan en la existencia de tools.jar deben reescribirse en consecuencia.

¡Es una mierda!


1
Ahhhhhhh !!! Como descubrió, tools.jarya está incluido en el tiempo de ejecución para Mac OS X. Por lo tanto, buscar tools.jarno es el enfoque correcto en Mac para saber si es un JDK o JRE :)
Pascal Thivent

Gracias por su respuesta, tiene razón. Mi necesidad era conseguir la lib tools.jar para un proyecto específico y para mí fue un enfoque de reconocer un JDK;)
ajeanson

4

La forma más fácil es usar Homebrew . Instala Homebrew y luego:

brew tap caskroom/versions
brew cask install java7

Puede enumerar todas las versiones disponibles con el siguiente comando: brew cask search java


3

Compilar con -source 1.5 -target 1.5 (en un entorno JDK 6) honrará solo los elementos del lenguaje que estaban en 1.5 y anteriores. Excelente. Pero no hubo cambios de idioma en 6 de todos modos. El problema con este enfoque (en Mac con 1.6) es que el uso de clases que vinieron DESPUÉS de 1.5 todavía se compilará porque existen en rt.jar. Por lo tanto, se puede ejecutar en un entorno 1.5 y obtener una excepción de clase no encontrada sin previo aviso al compilar. Descubrí esto de la manera difícil con javax.swing.event.RowSorterEvent / Listener. Ambos ingresaron "Since 1.6" pero no fueron capturados con -source 1.5



3

A partir de Mac OS X v10.6 (Snow Leopard), puede ejecutar Java 6 en modo de 32 bits en Macs equipados con procesador Intel de 32 o 64 bits .

Si no puede actualizar a Snow Leopard, Soy Latte es una versión precompilada de Java 6 para Intel de 32 bits.



1

Creo que esta otra pregunta de Stack Overflow podría ayudar:

Cómo obtener JDK 1.5 en Mac OS X

Básicamente dice que si necesita compilar o ejecutar una aplicación Java con una versión anterior del JDK (por ejemplo, 1.4 o 1.5), puede hacerlo usando el 1.6 porque es compatible con versiones anteriores. Para hacerlo, deberá agregar el parámetro -source 1.5y / o -target 1.5en las opciones de javac o en su IDE.


1

JDK es el Kit de desarrollo de Java (utilizado para desarrollar software de Java).

JRE es el Java Runtime Environment (utilizado para ejecutar cualquier archivo .jar 'software de Java').

El JDK contiene un JRE dentro de él.

En Windows cuando actualiza Java, actualiza JRE automáticamente.

En Mac no tiene un JRE separado, lo tiene, pero dentro del JDK, por lo que cuando actualice Java, actualizará su JRE que está dentro de su JDK; no instala un JDK para ti. Necesitas obtenerlo de otro lado.


1
Creo que te referías a JDK en lugar de IDK. Intenté editar, pero Stack Overflow dijo que las ediciones deben tener más de 6 caracteres. Solo lo menciono para evitar confusiones.
gusano web

1

Mira esta increíble herramienta sdkman para administrar tu jdk y otras herramientas relacionadas con jdk con gran facilidad!

p.ej

$sdk list java
$sdk install java <VERSION>

1

Como la mayoría de las respuestas están desactualizadas, esto es lo que funciona a fines de 2018 bajo el supuesto de que

  1. Desea instalar la versión GPL de OpenJDK. [0]
  2. No quieres instalar Homebrew

En ese caso, tome la versión deseada de una de las muchas ediciones OpenJDK disponibles y de libre uso, por ejemplo:

Algunos de estos incluyen instaladores, pero si no puede hacer lo siguiente. Suponiendo aquí la versión 11.0.1 para Mac. En su shell favorito, ejecute:

tar -xzf openjdk-11.0.1_osx-x64_bin.tar.gz
sudo mv jdk-11.0.1.jdk /Library/Java/JavaVirtualMachines
# Fix owner and group
sudo chown -R root:wheel /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk
# (Optional) Check if the new JDK can be found
/usr/libexec/java_home
=> /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home

[0] Tenga en cuenta que el JDK de la marca Oracle tiene importantes restricciones de licencia que le permiten su uso básicamente solo para pruebas, es decir, no para producción. Si no tiene un acuerdo de soporte con Oracle, me parece arriesgado usar su JDK, especialmente porque las diferencias con OpenJDK son mínimas .

Editar: se agregaron más opciones


1
Le sugiero que señale la descarga de AdoptOpenJDK.net , y luego siga sus instrucciones, evitando así los problemas legales y de soporte de las versiones de Oracle.
Basil Bourque

0

Como regla general, no puede instalar otras versiones de Java en una Mac que no sean las proporcionadas por Apple a través de Actualización de software. Si necesita Java 6, debe tener una computadora Intel de 64 bits. Siempre debe tener Java 5 y 1.4 y quizás 1.3 instalado si tiene al menos OS X 10.4.

Si tiene MUY mucha grasa y está dispuesto a trabajar con software beta, puede instalar OpenJDK en OS X, pero no creo que quiera ir allí.


Lo sé, por eso agregué ese comentario. Tal vez debería haber escrito un comentario un poco más largo para ir con el enlace :-)
Neeme Praks
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.