Por que a versão do Java verificada pelo Oracle é diferente da versão mostrada na linha de comando?

21

Questões

Por que as versões diferem?

Devemos confiar na rotina de verificação da Oracle?


Em alguns casos, a versão verificada pelo Oracle é diferente da versão mostrada na linha de comando.

Exemplo

Captura de tela do Safari, o console Java e o Terminal

Esse exemplo, em detalhes

De acordo com a Oracle no navegador:

  • Atualização 7 do Java 7

De acordo com o Java Console:

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

De acordo com o 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
fonte
Algum motivo pelo qual você instalou o acesso antecipado do Java 8?
Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen obrigado por perguntar. Agora há uma pergunta vinculada.
Graham Perrin

Respostas:

14

Usos problemáticos da terminologia

Captura de tela da página 'Verificar versão Java' da Oracle

Foto de uma página diferente do Oracle com o mesmo título

Onde a Oracle descreve primeiro o Java para "seu sistema operacional" e depois "para o seu computador", o download é mais preciso apenas para itens que usam o plug-in da Internet :

  • jre-7u13-macosx-x64.dmg instala o necessário para esse plug-in, mas para itens que usam Java sem o plug-in, esse instalador da Oracle não faz nada.

Sugestão

No OS X: se você deseja que um Java Runtime Environment (JRE) da Oracle seja semelhante ao JRE no diagrama abaixo, para (a) coisas que usam o plug-in da Internet e (b) coisas que usam Java sem esse plug- em:

Explicação adicional

A distribuição de Java pela Apple é mais do que um plug-in da Internet.

A rotina do Oracle na foto acima leva a nada mais que um plug-in. Outras partes da distribuição da Apple não são afetadas pelo instalador da Oracle.

A instalação de um JDK da Oracle colocará uma pasta no seguinte caminho, substituindo (não removendo) o JDK da Apple:

/Library/Java/JavaVirtualMachines

Dentro de cada JDK, há um JRE. Por favor, veja o diagrama abaixo.

A Oracle realmente documenta isso (embora tenha levado três anos e meio para encontrá-lo). Consulte a página da Oracle na linha de comando do OSX

O Java Runtime (JRE) que você baixa de java.com ou oracle.com contém um plug-in para executar o conteúdo Java no seu navegador. Para usar as ferramentas de linha de comando, você precisará fazer o download do Java Development Kit (JDK). O JRE e o JDK são separados e podem coexistir no seu sistema. Somente um JRE pode ser instalado no Mac OS X. Pode haver vários JDKs instalados em um sistema, quantos você desejar.

Pensamentos

O enorme botão vermelho "Download Java Now" é muito simplista. Muitos usuários, incluindo alguns especialistas técnicos, ficam confusos com o resultado final.

Quando um navegador Mac é detectado pelo servidor da Oracle, uma das seguintes frases pode ser menos enganosa:

  • Faça o download do Java para o seu navegador
  • Faça o download do plug-in da Internet

Criticamente

A Oracle deve oferecer algumas explicações nas Perguntas frequentes sobre Mac (Informações e requisitos do sistema para instalar e usar o Mac Java 7) . A edição atual sem data dessa página não possui uma explicação.

Positivamente

Alguns usuários desejam ou exigem que o JRE do plug-in da Internet seja diferente do JRE usado em outros lugares. Para esses usuários, a separação eficaz das coisas da Oracle pode ser bem-vinda.

Um exemplo:

  • no Safari e em outros navegadores, uso o Java 7 Update 13 mais recente
  • para Wuala.app e para outras coisas que não usam o plug-in da Internet, uso acesso antecipado, versão de visualização do desenvolvedor Java 8 (Java (TM) SE Runtime Environment build 1.8.0-ea-b75).

YMMV.


Itens de referência

Centro de Ajuda Java

  • em Terminologia , consulte Versões .

Documentação do Java Platform Standard Edition 7

No diagrama abaixo, nessa página, concentre-se em:

  • à esquerda, a extensão vertical do JRE
  • a camada superior laranja do JRE -  Java Web Start e Apple / Java Plug-in

captura de tela da documentação do Oracle

Relacionado

Como posso alternar entre as duas versões do Java no Mountain Lion agora que o Java Preferences se foi?

Graham Perrin
fonte
11
Você considerou escrever posts em vez de responder suas próprias perguntas?
Thorbjørn Ravn Andersen
7
Não há problema em fazer e responder suas próprias perguntas . Vi uma confusão em torno das versões do Java por um longo período no Ask Different, achei oportuno fazer disso uma pergunta.
Graham Perrin
4
Estou feliz que você respondeu sua própria pergunta. Mantenha o bom trabalho!
james.garriss
@GrahamPerrin Encontrei a documentação da Oracles sobre essa confusão - entrei logo antes do cabeçalho do Thoughts. Por favor, edite a postagem para colocá-la em uma posição melhor #
user151019