无法在Firefox 52 ESR中使用java

我正在运行Ubuntu Xenial(16.04.3 LTS)。

要从浏览器使用Java,请使用这些命令安装firefox ESR

$ sudo add-apt-repository ppa:jonathonf/firefox-esr $ sudo apt-get update $ sudo apt-get install firefox-esr 

除了firefox的ESR版本之外,我没有安装任何其他版本的firefox。

将’plugin.load_flash_only = false’添加到firefox的about:config部分。

在$ HOME / .mozilla / plugins中,为java插件创建了这个符号链接

 $ cd $HOME/.mozilla/plugins $ ln -s /usr/lib/jvm/java-8-oracle/jre/lib/amd64/libnpjp2.so . 

确保Oracle的java是默认的java。 / usr / lib / jvm / default-java是指向/ usr / lib / jvm / java-8-oracle的符号链接。

有了这些变化,当我启动firefox并且去了

 http://www.java.com/verify 

然后单击链接

  Firefox 52 ESR users: If you'd like to run the verify app as a plugin, please click here. 

我在启动firefox的终端中遇到此exception

位于sun.plugin2.main的sun.plugin2.main.server.JVMManager.startAppletImpl(未知来源)sun.plugin2.main.server.JVMManager.getOrCreateBestJVMInstance(未知来源)中的线程“main”java.lang.NullPointerException中的exception。位于sun.plugin2.main.server.server的sun.plugin2.main.server.MozillaPlugin.maybeStartApplet(未知来源)sun.plugin2.main.server.JVMManager.startApplet(未知来源)的server.JVMManager.startApplet(未知来源)。 MozillaPlugin.setWindow(未知来源)

java命令是/ etc / alternatives / java的符号链接,它是/ usr / lib / jvm / java-8-oracle / jre / bin / java的符号链接

我能够通过命令行成功运行java

  $ java -version java version "1.8.0_144" Java(TM) SE Runtime Environment (build 1.8.0_144-b01) Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) 

不清楚为什么firefox在使用已安装的java时遇到问题。

你可以解决这个问题。

打开浏览器并输入:

 about:config 

右键单击“名称标题”,选择“新建首选项”>“布尔”

使用此标签创建一个新条目:

 plugin.load_flash_only 

将其设置为false并重新启动浏览器。

实际上,此解决方案不依赖于在此系统中安装和运行的Java类型。 在这种情况下,Openjdk插件不能与Firefox ESR一起使用,而是从数字海洋教程中安装Oracle Java。 虽然他们告诉它已被弃用(因为它适用于Ubuntu 12.04),但程序是相同的:你可以在ubuntu 17.10中使用它,只需下载jdk 8u161。 我认为这是Firefox的最佳实践, 因为OpenJDK不会安装libnpjp2.so ,这对于激活Firefox ESR中的Java至关重要。

要在Firefox ESR上激活此插件,您必须为安装Oracle Java的文件夹创建符号链接:

 mkdir /firefox/browser/plugins cd /firefox/browser/plugins ln -s /jre/lib/amd64/libnpjp2.so 

可能还有其他方法可以在Firefox ESR中激活Java插件,但这种方式确实有效。 我现在下载了Firefox 52 ESR并在那里激活了Java!