Pourquoi la version de Java vérifiée par Oracle diffère-t-elle de la version affichée sur la ligne de commande?

21

Des questions

Pourquoi les versions diffèrent-elles?

Faut-il faire confiance à la routine de vérification d'Oracle?


Dans certains cas, la version vérifiée par Oracle est différente de la version affichée sur la ligne de commande.

Exemple

Capture d'écran de Safari, de la console Java et du terminal

Cet exemple, en détail

Selon Oracle dans le navigateur:

  • Java 7 Update 9

Selon la console Java:

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

Selon la javacommande:

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
la source
Une raison pour laquelle vous avez installé un accès anticipé à Java 8?
Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen merci d'avoir demandé. Il y a maintenant une question liée.
Graham Perrin

Réponses:

14

Utilisations problématiques de la terminologie

Capture d'écran de la page Oracle "Vérifier la version Java"

Prise de vue d'une page Oracle différente avec le même titre

Là où Oracle décrit d'abord Java pour "votre système d'exploitation" puis "pour votre ordinateur", le téléchargement est plus précis uniquement pour les éléments qui utilisent le plug-in Internet :

  • jre-7u13-macosx-x64.dmg installe ce qui est requis pour ce plug-in, mais pour les choses qui utilisent Java sans le plug-in, ce programme d'installation d'Oracle ne fait rien.

Allusion

Sous OS X: si vous voulez qu'un environnement d'exécution Java (JRE) d'Oracle soit comme le JRE dans le diagramme ci-dessous pour (a) les choses qui utilisent le plug-in Internet et (b) les choses qui utilisent Java sans ce plug- dans:

Explication supplémentaire

La distribution d'Apple de Java est plus qu'un plug-in Internet.

La routine Oracle illustrée ci-dessus ne mène à rien de plus qu'un plug-in. D'autres parties de la distribution d'Apple ne sont pas affectées par le programme d'installation d'Oracle.

L'installation d'un JDK à partir d'Oracle placera un dossier dans le chemin suivant, remplaçant (ne supprimant pas) le JDK d'Apple:

/Library/Java/JavaVirtualMachines

Au sein de chaque JDK, il existe un JRE. Veuillez consulter le schéma ci-dessous.

Oracle documente effectivement cela (bien qu'il ait fallu 3 ans et demi pour le trouver) Voir la page d'Oracle sur la ligne de commande OSX

Le Java Runtime (JRE) que vous téléchargez depuis java.com ou oracle.com contient un plugin pour exécuter du contenu Java à partir de votre navigateur. Pour utiliser les outils de ligne de commande, vous devrez télécharger le kit de développement Java (JDK). Le JRE et le JDK sont séparés et peuvent coexister sur votre système. Un seul JRE peut être installé sur Mac OS X. Il peut y avoir plusieurs JDK installés sur un système, autant que vous le souhaitez.

Pensées

L'énorme bouton rouge "Télécharger Java maintenant" est trop simpliste. Trop d'utilisateurs, dont certains experts techniques, sont finalement déconcertés par le résultat final.

Lorsqu'un navigateur Mac est détecté par le serveur d'Oracle, l'une des phrases suivantes peut être moins trompeuse:

  • Téléchargez Java pour votre navigateur
  • Téléchargez le plug-in Internet

Critique

Oracle devrait offrir quelques explications dans sa FAQ Mac (Informations et configuration système requise pour l'installation et l'utilisation de Mac Java 7) . L'édition non datée actuelle de cette page manque d'explication.

Positivement

Certains utilisateurs souhaitent ou exigent que le JRE du plug-in Internet diffère du JRE utilisé ailleurs. Pour ces utilisateurs, la séparation efficace des objets par Oracle peut être la bienvenue.

Un exemple:

  • dans Safari et d'autres navigateurs, j'utilise la dernière mise à jour 13 de Java 7
  • pour Wuala.app et pour d'autres choses qui n'utilisent pas le plug-in Internet, j'utilise un accès anticipé, version préliminaire de développeur Java 8 (Java (TM) SE Runtime Environment build 1.8.0-ea-b75).

YMMV.


Articles de référence

Centre d'aide Java

  • sous Terminologie , voir Versions .

Documentation de Java Platform Standard Edition 7

Dans le diagramme ci-dessous, à partir de cette page, concentrez-vous sur:

  • à gauche, l' envergure verticale du JRE
  • la couche supérieure orange du JRE -  Java Web Start et Apple / Java Plug-in

capture d'écran de la documentation Oracle

en relation

Comment puis-je basculer entre les deux versions Java de Mountain Lion maintenant que les préférences Java ont disparu?

Graham Perrin
la source
1
Vous avez pensé à rédiger des articles de blog au lieu de répondre à vos propres questions?
Thorbjørn Ravn Andersen
7
Vous pouvez poser et répondre à vos propres questions . J'ai vu de la confusion autour des versions de Java pendant une longue période dans Ask Different, j'ai pensé qu'il était opportun d'en faire une question.
Graham Perrin
4
Je suis content que vous ayez répondu à votre propre question. Continuez votre bon travail!
james.garriss
@GrahamPerrin J'ai trouvé la documentation d'Oracles sur cette confusion - je l'ai entrée juste avant l'en-tête Pensées. Veuillez modifier le message pour le mettre dans une meilleure position
user151019