无法在 Firefox 52 ESR 中使用 Java

无法在 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

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

在 Firefox 的 about:config 部分添加了“plugin.load_flash_only = false”。

在 $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 的终端中收到此异常

线程“main”中的异常 java.lang.NullPointerException 在 sun.plugin2.main.server.JVMManager.getOrCreateBestJVMInstance(未知来源) 在 sun.plugin2.main.server.JVMManager.startAppletImpl(未知来源) 在 sun.plugin2.main.server.JVMManager.startApplet(未知来源) 在 sun.plugin2.main.server.JVMManager.startApplet(未知来源) 在 sun.plugin2.main.server.MozillaPlugin.maybeStartApplet(未知来源) 在 sun.plugin2.main.server.MozillaPlugin.setWindow(未知来源)

java 命令是 /etc/alternatives/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 时会遇到问题。

答案1

你可以解决这个问题。

打开浏览器并输入:

about:config

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

创建具有此标签的新条目:

plugin.load_flash_only

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

实际上,此解决方案与系统中安装和运行的 Java 类型无关。在本例中,Openjdk 插件无法与 Firefox ESR 配合使用,但 Oracle Java 可以按照以下方式安装:Digital Ocean 教程。虽然他们说它已被弃用(因为它适用于 Ubuntu 12.04),但步骤是一样的:你可以在 ubuntu 17.10 中使用它,只需下载 jdk 8u161。我认为这是 Firefox 的最佳实践,因为 OpenJDK 不会安装 libnpjp2.so,在 Firefox ESR 中激活 Java 至关重要。

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

mkdir </Firefox ESR installed path>/firefox/browser/plugins
cd </Firefox ESR installed path>/firefox/browser/plugins
ln -s </Oracle Java installed path>/jre/lib/amd64/libnpjp2.so

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

相关内容