我有 Java 8 和 Ubuntu 18.04。我正在使用 NetBeans,当尝试编写某些程序时,由于缺少 JavaFX,因此无法完成。
我从 Oracle 网站安装了 Java JDK 和 NetBeans,并认为其中已包含所有内容,但显然我没有仔细检查。
我该怎么办?我应该安装什么?我不太擅长这个,不知道问题出在 Ubuntu 还是 Java。:(
答案1
在 Ubuntu 16.04 及更高版本的默认存储库中,JavaFX 被打包为名为 openjfx 的单独包。要在 Ubuntu 18.04 中安装它,请打开终端并输入:
sudo apt install openjdk-8-jdk openjfx
openjfx 包也可以从所有当前支持的 Ubuntu 版本中的默认存储库中安装。
检查 Netbeans 中是否已选择 JDK 8 作为默认 Java 版本 ->工具->选项->Java->犀牛标签 -> 点击管理平台按钮 -> 点击添加平台按钮 -> 单击标记的单选按钮Java 标准版-> 点击下一个按钮->浏览/usr/lib/jvm/java-8-openjdk-amd64
并选择它作为默认的 Java 版本。
您可以选择安装 openjdk-11-jdk 来代替 openjdk-8-jdk 或与 openjdk-8-jdk 一起安装。openjfx 可与 Ubuntu 18.04 中 Netbeans 中的 openjdk-8-jdk 和 openjdk-11-jdk 配合使用。我在 Ubuntu 18.04 中使用 Netbeans 8.2 10.0。
答案2
我认为最简单的方法是安装开发者工具。安装后,检查所有可用的候选者:
$ sdk list java
这将显示各种选项。您可以选择带后缀的选项FX
。在我的例子中,我可以看到类似以下内容:
Azul ZuluFX | | 11.0.2 | zulufx | | 11.0.2-zulufx
| | 8.0.202 | zulufx | | 8.0.202-zulufx
BellSoft | | 12.0.2 | librca | | 12.0.2-librca
| | 11.0.4 | librca | | 11.0.4-librca
因此,您可以使用以下命令安装它:
$ sdk install java 11.0.2-zulufx
或者,
$ sdk install java 8.0.202-zulufx # if you want java 8
一切就绪!希望这对您有所帮助!:)
答案3
可以通过在运行 javafx 应用程序时添加 openjfx 路径和模块作为参数来解决此问题,我已经在此发布了解决方案关联.
祝你好运
Lotfi
答案4
Liberica JDK“完整版”包含 JavaFX。有 8、11 和最新版本,以 .tar.gz 和 .deb 包形式提供:
如上所述,它也可以在 sdkman 中使用(带有更新)。
对于定期的 apt 更新,有一个官方的 apt 存储库:
https://www.bell-sw.com/pages/repositories/#apt
要安装包含 FX 的版本 11,请使用
sudo apt install bellsoft-java11-full