Firefox无法在ubuntu 15.04中获取最新的java版本:配置iceatea-8-plugin,但oracle java版validation页面可以
在我的笔记本电脑中,我安装了openjdk1.6,openjdk-1.7和openjdk1.8。 我可以通过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
我也安装了openjdk-7-plugin
。 但我不知道为什么我的firefox总是显示我最新的java版本
application/x-java-bean;jpi-version=1.7.0_50
我已经尝试重新初始化插件数据库 ,但它不起作用。 如何在浏览器插件中看到我最新的java? 我可以通过oracle java version verify页面看到我最新的java版本。
更新:
我安装了icedtea-8-plugin
然后删除了icedtea-7-plugin
。 但是,about:plugins显示我的java版本是application/x-java-bean;jpi-version=1.6.0_50
。 正确指向插件路径
Path: /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so
oracle java版validation页面可以正确显示我的java版本是1.8.0_45-internal
。 有没有人知道firefox如何在笔记本电脑上发现java版本?
UPDATE2:
谢谢@TrevorL为您详细解答。
现在我删除了系统中的所有openjdk-*
软件包。 我安装的唯一东西是openjdk-8-jre
和icedtea-8-plugin
。
我确认所有的可执行文件和配置都位于/usr/lib/jvm/java-8-openjdk-amd64/
。 mozilla-plugins.so
指向/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so
。 itweb-settings
也指向正确的版本。
我确实在about:plugins
使用正确的IcedTeaPlugin.so看到了firefox。 因为我现在只在我的系统中安装了1个版本的jvm。 我认为这个问题应该修改为: 为什么icedtea-8-plugin中的IcedTeaPlugin.so在Firefox中报告java 1.6.0_50 ?
UPDATE2:
在启动时,Firefox引用位于/usr/lib/mozilla/plugins
的java插件文件,该文件可以命名为libjavaplugin.so
或mozilla-javaplugin.so
目前,Ubuntu软件中心的IcedTea安装是IcedTea-plugin7,然后它的配置导致FireFox报告的不正确的JVM版本about:plugins
和Oracle浏览器测试 – 尽管事先安装了OpenJDK8。 可能的解释是IcedTea通过在/usr/lib/jvm
创建目录来配置自己的方式,其名称前缀为java-
即使这些JVM未安装在计算机上也是如此。
- 的java -6-的openjdk-AMD64
- 的java -7-的openjdk-AMD64
- 的java -8-的openjdk-AMD64
然后,为安装的jdk和默认的jdk1.7创建symLinks到这些文件夹 – 在安装了openjdk8的情况下。
- Java的1.7.0-的OpenJDK,AMD64
- java-1.8.0-openjdk-amd64(安装openJDK)
符号链接itweb-settings
配置为引用在每个JVM复制文件夹中创建的配置文件的备选方案
-
/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/itweb-settings
-
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/itweb-settings
和位于/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64
位置可执行的IcedTeaPlugin.so
链接mozilla-javaplugin.so
但是,IcedTea-plugin7没有在java-8-openjdk-amd64/jre/
的copy文件夹中放置配置或可执行文件,这可以解释由symlink mozilla-javaplugin.so
定义的默认/更高优先级jdk7的选择。 。
因为,您已经安装了IcedTea-plugin8,您需要确认配置,然后尝试根据需要选择不同的JVM。
- 关闭FireFox
- 确认可执行文件和配置文件位于openJDK8副本文件夹中
/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64
和
/usr/lib/jvm/java-8-openjdk-amd64/jre/bin
- 确认配置文件的内容引用了正确的JVM
-
确认symlink
itweb-settings
的值为每个JVM的正确配置文件sudo update-alternatives --display itweb-settings
-
如果这适用于jdk8,那么每个JVM的update-alternatives
sudo update-alternatives --install mozilla-plugins.so
sudo update-alternatives --install itweb-settings
-
然后根据需要配置itweb-settings以使用每个JVM
sudo update-alternatives --configure itweb-settings
- 检查Firefox中的JVM版本
****** UPDATE3 ******
itweb-settings
配置文件引用; deploy.properties的HOME目录中的两个可能路径
-
~/.config/icedtea-web/deployment.properties
-
~/.icedtea/deployment.properties
和全局路径/etc/.java/.deploy/deployment.properties
也许其中一个文件引用openJdk6?
****** UPDATE4 ******
该插件依赖于符号链接优先级,因此请确保jdk8具有最高优先级,然后update-alternatives
auto mode
。
并确保定义了javaws
的符号链接
卸载然后重新安装v8插件