O Firefox não pode obter a versão mais recente do java no Ubuntu 15.04 em about: configs com o iceatea-8-plugin, mas a página de verificação do oracle java pode

1

No meu laptop, tenho o openjdk1.6, o openjdk-1.7 e o openjdk1.8 instalados. Eu posso ver todos eles através de update-alternative --config java .

$update-alternatives --config java
There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      auto mode
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode
  3            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode

Eu também tenho openjdk-7-plugin instalado. Mas eu não sei porque o meu Firefox sempre mostra que a minha última versão do java é

application/x-java-bean;jpi-version=1.7.0_50

Eu já tentei Reinicializando o banco de dados de plugins , mas não funciona. Como posso ver o meu mais recente java no plugin do navegador? Eu posso ver minha mais nova versão do Java por meio da página de verificação da versão java do oracle .

atualização:

Eu instalei o icedtea-8-plugin e depois removi o icedtea-7-plugin . No entanto, o about: plugins mostra que minha versão do java é application/x-java-bean;jpi-version=1.6.0_50 . O caminho do plugin está corretamente apontado para

Path: /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so

A página de verificação da versão java do oracle pode mostrar corretamente que minha versão do java é 1.8.0_45-internal . Alguém tem idéia de como o Firefox descobriu a versão java no meu laptop?

Update2:

Obrigado @TrevorL por sua resposta detalhada.

Agora removi todos os pacotes openjdk-* do meu sistema. A única coisa que eu instalo é openjdk-8-jre e icedtea-8-plugin .

Confirmei que todos os executáveis e configurações estão localizados em /usr/lib/jvm/java-8-openjdk-amd64/ . O mozilla-plugins.so aponta para /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so . O itweb-settings também é apontado para a versão correta.

Eu vejo o firefox usando o IcedTeaPlugin.so correto no about:plugins . Desde que eu só tenho 1 versão jvm instalado no meu sistema agora. Eu acho que a questão deve ser modificar para: por que IcedTeaPlugin.so em icedtea-8-plugin reportar java 1.6.0_50 no Firefox ?

    
por Jamie Chou 11.08.2015 / 09:27

1 resposta

0

UPDATE2:

Na inicialização, o Firefox faz referência ao arquivo de plug-in java localizado em /usr/lib/mozilla/plugins , esse arquivo pode ser denominado libjavaplugin.so ou mozilla-javaplugin.so

Atualmente, a instalação do IcedTea do Ubuntu Software Center é IcedTea-plugin7, em seguida, sua configuração resulta na versão incorreta da JVM relatada pelo FireFox about:plugins e no teste do navegador Oracle - apesar de uma instalação anterior do OpenJDK8. Uma possível explicação é a maneira como o IcedTea se configura criando diretórios em /usr/lib/jvm com nomes prefixados por java-<version>-openjdk<bits> , mesmo se essas JVMs não estiverem instaladas na máquina.

  • java-6-openjdk-amd64
  • java-7-openjdk-amd64
  • java-8-openjdk-amd64

symLinks são então criados para essas pastas para o jdk instalado e um jdk1.7 padrão - no caso em que o openjdk8 foi instalado.

  • java-1.7.0-openjdk-amd64
  • java-1.8.0-openjdk-amd64 (instalado openJDK)

O link simbólico itweb-settings está configurado para fazer referência a alternativas para um arquivo de configuração criado em cada pasta de cópia da JVM

  • /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/itweb-settings
  • /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/itweb-settings

e um executável IcedTeaPlugin.so na localização /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64 referenciado pelo link mozilla-javaplugin.so

No entanto, o IcedTea-plugin7 não coloca uma configuração ou executável dentro da pasta de cópia de java-8-openjdk-amd64/jre/ , o que poderia explicar a seleção do padrão / prioridade mais alta jdk7, conforme definido pelo link simbólico mozilla-javaplugin.so .

Como você já instalou o IcedTea-plugin8, é necessário confirmar a configuração e tentar selecionar as diferentes JVMs conforme necessário.

  1. fechar o FireFox
  2. confirme se os arquivos executáveis e de configuração estão localizados na pasta de cópia do openJDK8

/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64

e

/usr/lib/jvm/java-8-openjdk-amd64/jre/bin
  1. confirma que o conteúdo do arquivo de configuração referencia a JVM correta
  2. confirme o valor de symlink itweb-settings no arquivo de configuração correto por JVM sudo update-alternatives --display itweb-settings

  3. se isso funcionar para jdk8, então update-alternatives para cada JVM

    sudo update-alternatives --install mozilla-plugins.so <IcedTeaPlugin.so per JVM> e sudo update-alternatives --install itweb-settings <itweb-settings per JVM>

  4. em seguida, configure itweb-settings conforme necessário para usar cada JVM

sudo update-alternatives --configure itweb-settings

  1. verifique a versão da JVM no Firefox

****** UPDATE3 ******

itweb-settings referências de arquivos de configuração; dois caminhos possíveis do diretório HOME para o deployment.properties

  • ~/.config/icedtea-web/deployment.properties
  • ~/.icedtea/deployment.properties

e um caminho global /etc/.java/.deploy/deployment.properties

Talvez um desses arquivos esteja fazendo referência ao openJdk6?

****** UPDATE4 ******

O plugin depende da prioridade do symlink, então assegure-se de que o jdk8 tenha a maior prioridade do que o update-alternatives to auto mode .

E garanta que o link simbólico para javaws esteja definido

desinstalar e reinstalar o plugin v8

    
por TrevorL 11.08.2015 / 14:52