使 JNLP 在 Ubuntu 20.04 上运行

使 JNLP 在 Ubuntu 20.04 上运行

我已经尝试了很长时间来让它工作,但没有得到任何有效的结果。我知道我必须为 Ubuntu 20.04 安装 icedtea-netx,但似乎还不够。当我访问我的 jnlp 时,icedtea 已启动但仍然显示徽标。可能是什么问题?icedtea 是否与已安装的 java 一起使用?我还必须安装 java 1.8.0,或者可能是什么问题?如果有人能帮助我,我会很高兴。

答案1

删除您已有的所有 Java 和 IcedTea 包/内容。我假设这里安装了 Ubuntu 20.04 LTS,尽管 21.10 也应该可以正常工作。

首先,安装 Java 11 JDK(我们不需要 JDK,因为我们没有编译任何东西,但由于某种原因 JRE 不起作用,所以无论如何都要使用 JDK):

$ sudo apt update && sudo apt install openjdk-11-jdk
...

检查以确保已安装:

$ java --version
openjdk 11.0.13 2021-10-19
OpenJDK Runtime Environment (build 11.0.13+8-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.13+8-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)

耶,现在我们安装了 Java 11 JRE(不,较新的版本不起作用,所以你不能使用 16 或 17。Java 8 可以工作,但我更喜欢 11,因为它支持 HiDPI 显示器)。是时候安装 IcedTea-Web 了。所以...Ubuntu 没有将它包含在软件包存储库中。所以下一个最好的办法是手动安装它。下载它的最新版本从这里。具体来说,您需要该icedtea-web-X.Y.Z.linux.bin.zip文件。下载它,并将 zip 移动到一个(空)文件夹 - 我使用了~/icedtea。使用 提取它unzip icedtea-web-X.Y.Z.linux.bin.zip(在这里使用正确的文件名)。您可能必须使用 来安装它sudo apt update && sudo apt install unzip。现在将有一个名为 的文件夹icedtea-web-image。进入它。现在进入bin文件夹(在 内icedtea-web-image)。运行此文件以测试 IcedTea-Web

$ ./javaws -about

这将运行javawsIcedTea-Web 附带的 (Java Web Start) 二进制文件,并-about弹出一个小型 Java GUI 应用程序以确保一切正常。如果一切顺利,您将暂时看到 IcedTea-Web 徽标,然后出现一个如下所示的关于对话框*:

IcedTea-Web 关于对话框

现在,您可以通过.jnlp这种方式运行任何随机文件(即~/icedtea/icedtea-web-image/bin/javaws somefile.jnlp)。这是有效的……但每次输入完整路径有点烦人。每这个答案,我们将把它安装到/opt,并为二进制文件创建一个符号链接/usr/local/bin。转到您将 zip 解压到的任何位置(对我来说是~/icedtea)。如果您ls在这里执行此操作,您应该会看到一个名为 的文件夹icedtea-web-image。现在,执行sudo cp -r icedtea-web-image /opt。现在,在/opt目录中,应该有一个名为 的文件夹icedtea-web-image。是时候创建符号链接了。以下是我们将要创建的链接

来源 目的地
/opt/icedtea-web-image/bin/javaws /usr/local/bin/javaws
/opt/icedtea-web-image/bin/itweb-settings /usr/local/bin/itweb-settings
/opt/icedtea-web-image/bin/policyeditor /usr/local/bin/policyeditor
$ sudo ln --symbolic /opt/icedtea-web-image/bin/javaws /usr/local/bin/javaws
$ sudo ln --symbolic /opt/icedtea-web-image/bin/itweb-settings /usr/local/bin/itweb-settings
$ sudo ln --symbolic /opt/icedtea-web-image/bin/policyeditor /usr/local/bin/policyeditor

现在我们已经创建了链接,从您的主目录 ( ~) 执行javaws -about。如果一切顺利,将弹出关于对话框(如上所示)。现在,下载您的.jnlp文件并将其保存在某个地方(我假设它是~/Downloads/somefile.jnlp)。要运行该文件,只需执行javaws ~/Downloads/somefile.jnlp,它就会运行!遗憾的是,此方法不支持浏览器集成,但您仍然可以.jnlp手动运行该文件。


*您可能会发现那些窗口边框不是 Ubuntu,而是 Windows 10。但是,由于我目前没有安装真正的 Ubuntu(我主要使用 Arch for Linux),所以我在 WSL2 中测试它。我有一个 X 服务器设置(VcXsrv),可以让我在 WSL2 中运行 GUI 应用程序,这就是它看起来像 Windows 的原因。但是,这仍然是真正的 Ubuntu 20.04,只是在 Windows 上安装了 X 服务器。

相关内容