¿Por qué la versión de Java verificada por Oracle difiere de la versión que se muestra en la línea de comando?

21

Preguntas

¿Por qué difieren las versiones?

¿Debemos confiar en la rutina de verificación de Oracle?


En algunos casos, la versión verificada por Oracle es diferente de la versión que se muestra en la línea de comando.

Ejemplo

Captura de pantalla de Safari, la consola Java y la Terminal

Ese ejemplo, en detalle

Según Oracle en el navegador:

  • Java 7 Actualización 9

De acuerdo con la consola de Java:

Java Plug-in 10.9.2.05
Using JRE version 1.7.0_09-b05 Java HotSpot(TM) 64-Bit Server VM

De acuerdo con el javacomando:

sh-3.2$ java -version
java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b58)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b02, mixed mode)
Graham Perrin
fuente
¿Alguna razón por la que haya instalado Java 8 acceso anticipado?
Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen gracias por preguntar. Ahora hay una pregunta vinculada.
Graham Perrin el

Respuestas:

14

Usos problemáticos de la terminología.

Captura de pantalla de la página 'Verify Java Version' de Oracle

Toma de una página de Oracle diferente con el mismo título

Cuando Oracle describe primero Java para "su sistema operativo" y luego "para su computadora", la descarga es más precisa solo para las cosas que usan el complemento de Internet :

  • jre-7u13-macosx-x64.dmg instala lo que se requiere para ese complemento, pero para las cosas que usan Java sin el complemento, este instalador de Oracle no hace nada.

Insinuación

En OS X: si desea que un Java Runtime Environment (JRE) de Oracle sea como el JRE en el diagrama a continuación, tanto para (a) cosas que usan el complemento de Internet como (b) cosas que usan Java sin ese complemento- en:

Explicación adicional

La distribución de Apple de Java es más que un complemento de Internet.

La rutina de Oracle que se muestra arriba no lleva a nada más que un complemento. Otras partes de la distribución de Apple no se ven afectadas por el instalador de Oracle.

La instalación de un JDK de Oracle colocará una carpeta en la siguiente ruta, anulando (no eliminando) el JDK de Apple:

/Library/Java/JavaVirtualMachines

Dentro de cada JDK hay un JRE. Por favor vea el diagrama a continuación.

Oracle realmente documenta esto (aunque ha tardado 3 años y medio en encontrarlo). Vea la página de Oracle en la línea de comandos de OSX

El Java Runtime (JRE) que descarga de java.com u oracle.com contiene un complemento para ejecutar contenido Java desde su navegador. Para utilizar las herramientas de línea de comandos, deberá descargar el Kit de desarrollo de Java (JDK). El JRE y el JDK están separados y pueden coexistir en su sistema. Solo se puede instalar un JRE en Mac OS X. Puede haber varios JDK instalados en un sistema, tantos como desee.

Pensamientos

El enorme botón rojo "Descargar Java ahora" es demasiado simplista. Demasiados usuarios, incluidos algunos expertos técnicos, están desconcertados por el resultado final.

Cuando el servidor de Oracle detecta un navegador Mac, una de las siguientes frases puede ser menos engañosa:

  • Descarga Java para tu navegador
  • Descargue el complemento de Internet

Críticamente

Oracle debería ofrecer alguna explicación en sus Preguntas frecuentes sobre Mac (Información y requisitos del sistema para instalar y usar Mac Java 7) . La edición actual sin fecha de esa página carece de una explicación.

Afirmativamente

Algunos usuarios desean o requieren que el JRE del complemento de Internet difiera del JRE utilizado en otros lugares. Para estos usuarios, la separación efectiva de las cosas de Oracle puede ser bienvenida.

Un ejemplo:

  • en Safari y otros navegadores utilizo la actualización 13 más reciente de Java 7
  • para Wuala.app y para otras cosas que no usan el complemento de Internet, uso el acceso temprano, versión preliminar del desarrollador Java 8 (Java (TM) SE Runtime Environment build 1.8.0-ea-b75).

YMMV.


Artículos de referencia

Centro de ayuda de Java

  • bajo Terminología , ver Versiones .

Documentación de Java Platform Standard Edition 7

En el diagrama a continuación, desde esa página, enfóquese en:

  • a la izquierda, el tramo vertical del JRE
  • la capa superior naranja del JRE -  Java Web Start y Apple / Java Plug-in

captura de pantalla de la documentación de Oracle

Relacionado

¿Cómo puedo cambiar entre las dos versiones de Java en Mountain Lion ahora que las preferencias de Java han desaparecido?

Graham Perrin
fuente
1
¿Consideró escribir publicaciones de blog en lugar de responder sus propias preguntas?
Thorbjørn Ravn Andersen
77
Está bien hacer y responder sus propias preguntas . Vi confusión sobre las versiones de Java durante un período prolongado en Ask Different, pensé que era oportuno hacer una pregunta.
Graham Perrin el
44
Me alegra que hayas respondido tu propia pregunta. ¡Sigan con el buen trabajo!
james.garriss
@GrahamPerrin Encontré la documentación de Oracles sobre esta confusión: la ingresé justo antes del encabezado Pensamientos. Edite la publicación para ponerla en una mejor posición
user151019