versiones sierra para mojave mac instalar high gratis avanza actualizar actualizacion macos java

macos - sierra - Cómo obtener JDK 1.5 en Mac OS X



mac os mojave (8)

Aunque se pueden usar los indicadores -source y -target, no siempre producen un código que funcione en todos los JRE anteriores. Definitivamente he tenido ocasiones en las que al intentar compilar de nuevo a una especificación más antigua, se produjo un código que funcionó bien para algunos usuarios, pero no se ejecutó en otros. Para estar realmente seguro de que todos los usuarios de un JRE 1.5 o 1.4 pueden ejecutar su código, probablemente debería realizar sus compilaciones de producción con un JDK 1.5 o 1.4.

Encontré estas instrucciones muy útiles para obtener un JDK 1.5 y 1.4 "real" instalado bajo el leopardo de las nieves: http://codethought.com/blog/?p=233

Tengo que escribir algo de código para una aplicación heredada que todavía está ejecutando JDK 1.5. Desafortunadamente, parece que OS X no tiene un 1.5 JDK instalado; sólo enlaza a 1.6:

/System/Library/Frameworks/JavaVM.framework/Versions $ ls -l lrwxr-xr-x 1 root wheel 5 Apr 26 11:53 1.3 -> 1.3.1 drwxr-xr-x 3 root wheel 102 Feb 11 15:33 1.3.1 lrwxr-xr-x 1 root wheel 10 Apr 26 11:53 1.4 -> CurrentJDK lrwxr-xr-x 1 root wheel 10 Apr 26 11:53 1.4.2 -> CurrentJDK lrwxr-xr-x 1 root wheel 10 Apr 26 11:53 1.5 -> CurrentJDK lrwxr-xr-x 1 root wheel 10 Apr 26 11:53 1.5.0 -> CurrentJDK lrwxr-xr-x 1 root wheel 5 Apr 26 11:53 1.6 -> 1.6.0 drwxr-xr-x 7 root wheel 238 Apr 26 11:53 1.6.0 drwxr-xr-x 8 root wheel 272 Apr 26 11:53 A lrwxr-xr-x 1 root wheel 1 Apr 26 11:53 Current -> A lrwxr-xr-x 1 root wheel 3 Apr 26 11:53 CurrentJDK -> 1.6

Suena como en http://developer.apple.com/java/faq/ que Java es parte de la actualización del sistema operativo ... Estoy en Mac OS X v10.6.3 (Snow Leopard). ¿Hay alguna manera de obtener un 1.5 JDK real instalado en esta versión del sistema operativo?

¿O debo intentar encontrar una versión anterior de OS X antes de poder hacer este trabajo?


Echa un vistazo a http://wiki.oneswarm.org/index.php/OS_X_10.6_Snow_Leopard sobre cómo obtener e instalar 1.4 y 1.5 JDK en Snow Leopard. También tenga en cuenta que siempre que ejecute la Actualización de software y se instale una actualización de JDK, deberá "arreglar" los enlaces simbólicos a los JDK 1.4 y 1.5.

ACTUALIZACIÓN: como nota al margen, para aquellos que desarrollan varios JDK en OS X, eche un vistazo a esta pequeña y práctica utilidad para cambiar JDK desde la línea de comandos: setjdk .


Gracias, esto funciona muy bien: http://wiki.oneswarm.org/index.php/OS_X_10.6_Snow_Leopard

Extrañamente, debe seguir los pasos de cambio de nombre en las instrucciones, donde modifica los enlaces simbólicos para 1.5 y 1.5.0 al leopard real Java 1.5. Si no lo hace y simplemente intenta ejecutar el binario de Java, obtendrá un bus. ¡error!

En cualquier caso, gracias a estos pasos ahora tengo un Java 5 JDK real para compilar y ejecutar en Eclipse, lo que me ahorra muchos problemas. Por un lado, puedo encontrar y eliminar referencias a métodos solo para Java 1.6 al instante. Es genial. Antes de esto, solo aparecerían en el control de calidad, o incluso peor, cuando uno de los pocos clientes que aún estaban en Java 5 intentó ejecutar nuestro programa. Que era. Malo.

Esta es la razón por la que el "soporte" de JDK5 cuando en realidad solo apunta enlaces simbólicos a Java 6 no es lo suficientemente bueno para el desarrollo.


La forma más sencilla es usar este script de Brice Dutheil . Guarde la secuencia de comandos, descargue el dmg de Apple (la secuencia de comandos le indicará el URI) y ejecute la secuencia de comandos. Voila!


Necesitas una versión anterior de OS X para eso.


No necesitas una copia de Java 1.5 para desarrollarla; Java 1.6 es compatible con versiones anteriores de Java 1.5, por lo que cualquier cosa que funcione en 1.5 funcionará en 1.6. Las banderas -source y -source pueden ser útiles para garantizar que todo funcione en 1.5. Dicho esto, este artículo explicará cómo obtener una copia de Java 1.5 en Snow Leopard. Tenga en cuenta, sin embargo, que podría potencialmente destruir / dañar su sistema.


Realmente hay dos problemas aquí:

  1. Instalar una versión anterior de Java y evitar que Actualización de software la elimine.
  2. Indique a las aplicaciones que requieren la versión anterior dónde encontrarlas , al tiempo que permite que todo lo demás se beneficie de la última versión.

No tengo nada que agregar (todavía) a lo que ya se ha escrito sobre la instalación de una versión antigua de Java, sin embargo, según esta publicación de Mike Swingler , Java Runtime Engineer en Apple:

Nadie puede o debería estar cambiando los enlaces simbólicos en / System / Library / Frameworks / JavaVM.framework, excepto las actualizaciones de software de Apple (y estamos reacios a hacerlo, porque inevitablemente rompe a alguien)

En otras palabras, actualizar los enlaces del sistema operativo a la copia antigua de Java es una práctica cuestionable , ya que obliga a todas las aplicaciones Java en el sistema a usar la versión anterior de Java.

La forma correcta es configurar JAVA_HOME con la versión correcta de Java según sea necesario. Puede hacer esto ejecutando /usr/libexec/java_home para obtener la ruta a una versión específica. Por ejemplo, para obtener la ruta a una versión 1.5:

/usr/libexec/java_home --version 1.5


Si está escribiendo código en Eclipse o potencialmente en algún otro IDE, debería poder configurarlo para cumplir con el cumplimiento 1.5.

Si está utilizando javac directamente, puede probar las -source 1.5 y / o -target 1.5 , que pueden ser suficientes para lo que está haciendo. El 1.6 JDK debería poder producir un código compatible con 1.5.