Java SE y OS X | NosoloHD

Java SE y OS X

DeBilbao

...del mismo Bilbao
Mensajes
13.618
Reacciones
8.239
Ubicación
El Botxo
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

10rmuq1.jpg

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.

9jp0ya.jpg

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.

23tobcn.jpg

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.

2ljt2lv.jpg

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.

20v0nph.jpg

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

wrhovl.jpg

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

t05jlh.jpg


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.

:ok :ok :ok
 
Última edición:
A mi me pasa una cosa curiosa con Java. Hace poco formateé y reinstale Mountain Lion recuperando con Time Machine. Y cuando escribo en Spotlight "Java" el primer resultado es Java Visual VM con un icono que es como una hoja de papel con la regla lápiz y brocha delante. Cuando lo ejecuto hace el amago de abrirse y se cierra en menos de un segundo.

Así qué hoy instalé Java 1.7 descargando desde la web de oracle. Y ahora si pongo en el terminal "Java -version" sale que tengo la 1.7.0_07 y no me pregunta si quiero instalar la 1.6 de Apple. :?
 
Java Visual VM es la máquina virtual de Java, un componente necesario para que se ejecuten las aplicaciones Java, pero no es un elemento interactivo. Spotlight te lo ha indexado y aparece en los resultados porque lo ha localizado en el disco y en la carpeta de aplicaciones, pero es normal que si lo abres se cierre, pues no le has pedido que ejecute ninguna aplicación.

Si tienes Java 7 instalado, es lógico que no te pregunte si quieres instalar la versión 6 de Apple, pues ya le estás ofreciendo un entorno de ejecución JRE para que funcionen los programas.

Lo que no me cuadra es que con java -version te diga que tienes la versión 1.7_07.

¿Qué versión has descargado exactamente?

:ok :ok :ok
 
Lo descargué con el cable Ethernet puesto al no funcionarme el wifi. Aún tengo el archivo en la carpeta de Descargas. Se llama jre-7u40-macosx-x64.dmg.
 
Por lo que he podido comprobar, hasta que Apple cortó el grifo, la instalación de Oracle también actualizaba la versión de Java interna, y es muy probable que en su día instalaras una versión anterior y te la hayas traído con la copia de Time Machine.

He probado a desinstalar Java 7 Update 40 y a descargar desde los archivos de Oracle en http://www.oracle.com/technetwork/j...downloads-javase7-521261.html#jre-7u7-oth-JPR (hace falta tener una cuenta, gratuíta) la versión de Java 7 Update 7 y efectivamente, tras instalarla el comando java -version informa de que la versión se ha actualizado.
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)
Viendo el tamaño del instalador (150MB) y comparándolo con el de las siguientes versiones (alrdedor de los 50-60MB) esta debe ser la última versión que actualizó el cliente de Java de Apple.

La pregunta es... ¿en qué condiciones lo dejó? ¿es mejor dejar instalado el Java 6 que soporta Apple?

:ok :ok :ok
 
Antes de instalar hoy Java 7 no tenía forma de acceder a ningún panel de preferencias de Java. Sin embargo Minecraft se ejecutaba. Ahora tras instalar Java ya tengo acceso al panel de Java desde Preferencias del Sistema, y en la pestaña Java, cuando le doy a Ver... sólo me aparece Java 1.7.

No entiendo nada pero te digo todo lo que puedo ver. :cuniao ¿Esta todo correcto como lo tengo yo? :sudor
 
Atrás
Arriba Pie