Con este post trataré de poner un poco de claridad en el enrevesado mundo de la tecnología Java, y su especial relación con las máquinas de Apple. Este componente suele ser una fuente importante de confusiones y quebraderos de cabeza para los usuarios, y es que a veces los fabricantes no nos lo ponen nada fácil...
Java es una tecnología que a día de hoy es propiedad de Oracle. Antes era propiedad de la también americana Sun Microsystems, que en 2007 licenció casi todos sus componentes bajo licencia GNU/GPL para que fuesen del dominio público, pero en 2011 el monstruo de las bases de datos se hizo con esta tecnología y aunque la ofrece de forma gratuita, le interesa controlarla porque está presente en miles de millones de dispositivos, desde móviles a lavadoras, pasando por coches, frigoríficos... y por supuesto, ordenadores.
La nomenclatura es importante y cuando hablamos de Java hay que distinguir entre dos distribuciones distintas: el Java JDK (Java Development Kit) que es el kit de desarrollo que incluye el compilador y otras herramientas para programar en Java, y el entorno de ejecución para aplicaciones, necesario para ejecutar las aplicaciones desarrolladas con el JDK por los programadores. El entorno de ejecución más habitual es la edición estándar Java SE (Standard Edition), aunque también hay otras ediciones para entorno empresarial, para móviles, etc.
Para complicarlo aún más, Java existe también como plug-in para los navegadores de Internet, de forma que es posible ejecutar programas Java dentro de una ventana de un navegador. A estos programas se les conoce habitualmente como applets.
Tanto el JDK como Java SE pueden ser descargados desde su página específica en Oracle http://www.oracle.com/technetwork/es/java/javase/downloads/index.html
Java SE es un componente de lo que se llama Java JRE (Java Runtime Environment) o entorno de ejecución de Java, que proporciona todos los componentes necesarios para que un ordenador pueda ejecutar programas escritos en Java.
La implementación de Java SE de Oracle está disponible para Windows, OS X y Solaris y al haber tantos dispositivos que utilizan esa tecnología, es un destino muy atractivo para los hackers, que buscan sin descanso formas de colarse en los equipos para robar información y ponerla a manos de las mafias que se encargan de comercializarlas. Eso lo convierte en una carrera sin fin entre unos que hacen agujeros, y el fabricante del software que trata de remendarlos.
Hasta Mountain Lion, Apple incluía su propia implementación de Java SE, y de hecho la sigue ofreciendo de forma opcional, pues en cuanto tratas de usar algo que requiere Java, nos salta una alerta ofreciéndonos descargarla. Si ejecutamos con la aplicación Terminal el comando java -version en una máquina que no tenga Java instalado, nos devolverá el resultado No Java runtime present, requesting install y aparecerá este mensaje invitándote a instalarlo.
Y tras instalarlo, podremos comprobar con la aplicación Terminal que el comando java -version ahora nos confirma la presencia del JRE de Java SE, en su versión 1.6.0_51.
java version "1.6.0_51"
Java(TM) SE Runtime Environment (build 1.6.0_51-b11-457-11M4509)
Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-457, mixed mode)
Esa versión 1.6.0_51 corresponde con Java SE 6 Update 51, y si lo comparamos con Java SE 7 Upadte 51 que hoy hay disponible en la web de Oracle, veremos que tenemos una gran diferencia, y os preguntaréis ¿por qué?
Apple decidió dejar de ofrecer soporte a las actualizaciones de Java y eliminó el panel de preferencias de Java, dejando en manos del usuario la instalación y actualización de la versión de Oracle, así que si sólo dejáis la la versión de Apple, estaréis MUY limitados y sólo se podrán usar aquellos programas compatibles con ella. Aunque el tema de las versiones de Java y su compatibilidad es un verdadero dolor de cabeza y hay algunos programas que sólo funcionan con las versiones viejas de Apple.
Si por ejemplo probáis a instalar el popular gestor de descargas jDownloader 2 teniendo tan sólo la versión de Java SE 6 de Apple, veréis cómo obtenéis un error que os impide terminar siquiera la instalación, pues el propio instalador está programado en Java y requiere Java SE 7.
Así que si queremos usar la mayoría de los programas actuales, no nos queda otra alternativa que instalar el JRE de Java SE 7 descargándolo desde la web de Java en http://www.java.com/es/download/manual.jsp o bien desde la web de Oracle en http://www.oracle.com/technetwork/es/java/javase/downloads/index.html, ambos sitios llevan a la misma descarga.
Una vez instalada, si ejecutamos el comando java -version recibiremos la misma información, pues este comando sólo hace referencia a la versión de Java SE 6 implementada por Apple. Si queremos ver la versión instalada de Java SE 7, tendremos que acceder a las preferencias del sistema y ahí veremos un nuevo icono llamado Java desde el que podemos consultar y configurar las preferencias de Java SE 7.
Si queréis comprobar que vuestra instalación de Java SE 7 funciona bien integrada en Safari o Firefox (no funciona en Chrome, pues requiere un navegador de 64bits), pasaros por http://www.java.com/es/download/testjava.jsp para ejecutar un pequeño programa applet de Java. Si todo va bien, os solicitará permiso para hacerlo, pues desde hace ya unas cuantas versiones se añadió esta validación manual para evitar que los agujeros de seguridad puedan trabajar de forma silenciosa.
Una vez concedido permiso se ejecutará el applet y si todo funciona bien deberíais ver esta pantalla:
Si en algún momento necesitáis desinstalar Java SE 7 por problemas de compatibilidad, sólo hay que borrar el archivo JavaAppletPlugin.plugin siguiendo el procedimiento descrito en http://www.java.com/es/download/help/mac_uninstall_java.xml y siguiendo posteriormente las instrucciones en http://support.apple.com/kb/HT5559?viewlocale=es_ES&locale=es_ES para volver a activar Java SE 6 completamente.
Tras hacerlo, podréis comprobar cómo si accedéis de nuevo a http://www.java.com/es/download/testjava.jsp aparecerá de nuevo una alerta y se ejecutará el applet, que ahora informará que la versión instalada es Java 6 SE Update 51
Espero que esto sirva para aclarar las ideas. El tema no es tecnológicamente sencillo y además los distintos fabricantes involucrados lo hacen mucho más complicado de lo que sería si hablaran más entre ellos y se dejaran de tonterías.

Java es una tecnología que a día de hoy es propiedad de Oracle. Antes era propiedad de la también americana Sun Microsystems, que en 2007 licenció casi todos sus componentes bajo licencia GNU/GPL para que fuesen del dominio público, pero en 2011 el monstruo de las bases de datos se hizo con esta tecnología y aunque la ofrece de forma gratuita, le interesa controlarla porque está presente en miles de millones de dispositivos, desde móviles a lavadoras, pasando por coches, frigoríficos... y por supuesto, ordenadores.
La nomenclatura es importante y cuando hablamos de Java hay que distinguir entre dos distribuciones distintas: el Java JDK (Java Development Kit) que es el kit de desarrollo que incluye el compilador y otras herramientas para programar en Java, y el entorno de ejecución para aplicaciones, necesario para ejecutar las aplicaciones desarrolladas con el JDK por los programadores. El entorno de ejecución más habitual es la edición estándar Java SE (Standard Edition), aunque también hay otras ediciones para entorno empresarial, para móviles, etc.
Para complicarlo aún más, Java existe también como plug-in para los navegadores de Internet, de forma que es posible ejecutar programas Java dentro de una ventana de un navegador. A estos programas se les conoce habitualmente como applets.
Tanto el JDK como Java SE pueden ser descargados desde su página específica en Oracle http://www.oracle.com/technetwork/es/java/javase/downloads/index.html

Java SE es un componente de lo que se llama Java JRE (Java Runtime Environment) o entorno de ejecución de Java, que proporciona todos los componentes necesarios para que un ordenador pueda ejecutar programas escritos en Java.
La implementación de Java SE de Oracle está disponible para Windows, OS X y Solaris y al haber tantos dispositivos que utilizan esa tecnología, es un destino muy atractivo para los hackers, que buscan sin descanso formas de colarse en los equipos para robar información y ponerla a manos de las mafias que se encargan de comercializarlas. Eso lo convierte en una carrera sin fin entre unos que hacen agujeros, y el fabricante del software que trata de remendarlos.
Hasta Mountain Lion, Apple incluía su propia implementación de Java SE, y de hecho la sigue ofreciendo de forma opcional, pues en cuanto tratas de usar algo que requiere Java, nos salta una alerta ofreciéndonos descargarla. Si ejecutamos con la aplicación Terminal el comando java -version en una máquina que no tenga Java instalado, nos devolverá el resultado No Java runtime present, requesting install y aparecerá este mensaje invitándote a instalarlo.

Y tras instalarlo, podremos comprobar con la aplicación Terminal que el comando java -version ahora nos confirma la presencia del JRE de Java SE, en su versión 1.6.0_51.
java version "1.6.0_51"
Java(TM) SE Runtime Environment (build 1.6.0_51-b11-457-11M4509)
Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-457, mixed mode)
Esa versión 1.6.0_51 corresponde con Java SE 6 Update 51, y si lo comparamos con Java SE 7 Upadte 51 que hoy hay disponible en la web de Oracle, veremos que tenemos una gran diferencia, y os preguntaréis ¿por qué?
Apple decidió dejar de ofrecer soporte a las actualizaciones de Java y eliminó el panel de preferencias de Java, dejando en manos del usuario la instalación y actualización de la versión de Oracle, así que si sólo dejáis la la versión de Apple, estaréis MUY limitados y sólo se podrán usar aquellos programas compatibles con ella. Aunque el tema de las versiones de Java y su compatibilidad es un verdadero dolor de cabeza y hay algunos programas que sólo funcionan con las versiones viejas de Apple.
Si por ejemplo probáis a instalar el popular gestor de descargas jDownloader 2 teniendo tan sólo la versión de Java SE 6 de Apple, veréis cómo obtenéis un error que os impide terminar siquiera la instalación, pues el propio instalador está programado en Java y requiere Java SE 7.
Así que si queremos usar la mayoría de los programas actuales, no nos queda otra alternativa que instalar el JRE de Java SE 7 descargándolo desde la web de Java en http://www.java.com/es/download/manual.jsp o bien desde la web de Oracle en http://www.oracle.com/technetwork/es/java/javase/downloads/index.html, ambos sitios llevan a la misma descarga.

Una vez instalada, si ejecutamos el comando java -version recibiremos la misma información, pues este comando sólo hace referencia a la versión de Java SE 6 implementada por Apple. Si queremos ver la versión instalada de Java SE 7, tendremos que acceder a las preferencias del sistema y ahí veremos un nuevo icono llamado Java desde el que podemos consultar y configurar las preferencias de Java SE 7.

Si queréis comprobar que vuestra instalación de Java SE 7 funciona bien integrada en Safari o Firefox (no funciona en Chrome, pues requiere un navegador de 64bits), pasaros por http://www.java.com/es/download/testjava.jsp para ejecutar un pequeño programa applet de Java. Si todo va bien, os solicitará permiso para hacerlo, pues desde hace ya unas cuantas versiones se añadió esta validación manual para evitar que los agujeros de seguridad puedan trabajar de forma silenciosa.

Una vez concedido permiso se ejecutará el applet y si todo funciona bien deberíais ver esta pantalla:

Si en algún momento necesitáis desinstalar Java SE 7 por problemas de compatibilidad, sólo hay que borrar el archivo JavaAppletPlugin.plugin siguiendo el procedimiento descrito en http://www.java.com/es/download/help/mac_uninstall_java.xml y siguiendo posteriormente las instrucciones en http://support.apple.com/kb/HT5559?viewlocale=es_ES&locale=es_ES para volver a activar Java SE 6 completamente.
Tras hacerlo, podréis comprobar cómo si accedéis de nuevo a http://www.java.com/es/download/testjava.jsp aparecerá de nuevo una alerta y se ejecutará el applet, que ahora informará que la versión instalada es Java 6 SE Update 51

Espero que esto sirva para aclarar las ideas. El tema no es tecnológicamente sencillo y además los distintos fabricantes involucrados lo hacen mucho más complicado de lo que sería si hablaran más entre ellos y se dejaran de tonterías.



Última edición: