1

In my laptop, I have openjdk1.6, openjdk-1.7, and openjdk1.8 installed. I can see all of them through 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

I also have openjdk-7-plugin installed. But I don't know why my firefox always shows that my latest java version is

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

I already tried to Re-initializing the plugins database, but it doesn't work. How can I see my latest java in the browser plugin? I can see my newest java version through the oracle java version verify page.

update:

I installed the icedtea-8-plugin then removed the icedtea-7-plugin. However, the about:plugins shows that my java version is application/x-java-bean;jpi-version=1.6.0_50. The plugin path is correctly pointed to

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

The oracle java version verify page can correctly show my java version is 1.8.0_45-internal. Does anyone have idea on how firefox discovery the java version on my laptop?

Update2:

Thanks @TrevorL for you detailed answer.

Now I removed all the openjdk-* packages in my system. The only thing I install is openjdk-8-jre and icedtea-8-plugin.

I confirmed all the executable and configs are located in /usr/lib/jvm/java-8-openjdk-amd64/. The mozilla-plugins.so points to /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so. The itweb-settings is also pointed to correct version.

I do see firefox using the correct IcedTeaPlugin.so in the about:plugins. Since I only have 1 version jvm installed in my system now. I think the question should be modify to: why IcedTeaPlugin.so in icedtea-8-plugin report java 1.6.0_50 in Firefox?

0

UPDATE2:

On startup, Firefox references the java plugin file located in /usr/lib/mozilla/plugins, this file could be named libjavaplugin.so or mozilla-javaplugin.so

Currently, the IcedTea install from Ubuntu Software Center is IcedTea-plugin7 then its configuration results in the incorrect JVM version reported by FireFox about:plugins and from the Oracle browser test - despite a prior OpenJDK8 installation . A possible explanation is the way IcedTea configures itself by creating directories in /usr/lib/jvm with names prefixed by java-<version>-openjdk<bits> even if these JVMs are not installed on the machine.

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

symLinks are then created to these folders for the installed jdk and a default jdk1.7 - in the case that openjdk8 was installed.

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

The symlink itweb-settings is configured to reference alternatives for a configuration file created in each JVM copy folder

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

and an executable IcedTeaPlugin.so at location /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64 referenced by link mozilla-javaplugin.so

However, the IcedTea-plugin7 does not place a configuration or executable within the copy folder of java-8-openjdk-amd64/jre/ which could explain the selection of the default / higher priority jdk7 as defined by the symlink mozilla-javaplugin.so.

Since, you have already installed IcedTea-plugin8 you need to confirm the configuration then attempt to select the different JVMs as you required.

  1. close FireFox
  2. confirm the executable and config files are located within the openJDK8 copy folder

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

and

/usr/lib/jvm/java-8-openjdk-amd64/jre/bin
  1. confirm the contents of the config file references the correct JVM
  2. confirm the value of symlink itweb-settings to the correct configuration file per JVM sudo update-alternatives --display itweb-settings

  3. if this works for jdk8 then update-alternatives for each JVM

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

  4. then configure itweb-settings as you require to use each JVM

sudo update-alternatives --configure itweb-settings

  1. check JVM version in Firefox

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

itweb-settings configuration file references; two possible paths from the HOME directory for the deployment.properties

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

and a global path /etc/.java/.deploy/deployment.properties

Maybe one of these files is referencing openJdk6 ?

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

The plugin relies on symlink priority, so ensure that jdk8 has the highest priority then update-alternatives to auto mode.

And ensure that the symlink for javaws is defined

uninstall then re-install the v8 plugin

  • I don't use oracle java. The libnpjp2.so is missing in my system. – Jamie Chou Aug 12 '15 at 3:01
  • @JamieChou what is interesting with IcedTea7 is that the browser reports a java version 1.7.0_50 even though I have never installed a Java7 for either Oracle / OpenJDK and only installed Java8 for both. – TrevorL Aug 12 '15 at 15:29
  • Now I only have oenjdk-8-jre installed in my system. But the about:plugins shows that my newest java version is 1.6.0_50. One more thing is that about:plugins shows that firefox already use the /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/IcedTeaPlugin.so, which is not located in /usr/lib/mozilla/plugin – Jamie Chou Aug 13 '15 at 3:11
  • @JamieChou I would suggest that you install another jvm to assist in finding a solution to your problem. Kindly post answers to the following; (1) 'ls' for path '/usr/lib/mozilla/plugin' ,(2) 'ls' for path '/usr/lib/jvm' ,(3) output from 'sudo update-alternatives --display libjavaplugin.so' ,(4) output from 'sudo update-alternatives --display mozilla-javaplugin.so' – TrevorL Aug 13 '15 at 7:27
  • Here they are: (1) $ ls -l /usr/lib/mozilla/plugins/ total 8 lrwxrwxrwx 1 root root 37 Aug 12 10:21 flashplugin-alternative.so -> /etc/alternatives/mozilla-flashplugin lrwxrwxrwx 1 root root 39 Aug 13 11:22 libjavaplugin.so -> /etc/alternatives/mozilla-javaplugin.so -rw-r--r-- 1 root root 6096 Apr 5 19:24 librhythmbox-itms-detection-plugin.so – Jamie Chou Aug 13 '15 at 9:48

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.