缺少JavaFX,Ubuntu 18.04


18

我有Java 8和Ubuntu 18.04。我使用的是NetBeans,当尝试编写一些程序时,由于JavaFX缺失,无法完成。

我从Oracle网站上将Java JDK与NetBeans一起安装,并认为所有内容都包括在内,但是显然我没有很好地对其进行检查。

我该怎么办,我应该安装什么?我对此不太擅长,也不知道Ubuntu或Java是否有问题。:(


Answers:


18

在Ubuntu 16.04和更高版本的默认存储库中,JavaFX被打包为一个单独的名为openjfx的软件包。要在Ubuntu 18.04中安装它,请打开终端并输入:

sudo apt install openjdk-8-jdk openjfx

检查JDK 8被选定为NetBeans中的默认Java版本- > 工具 - > 选项 - > Java的 - > 犀牛选项卡- >点击管理平台按钮- >点击添加平台按钮- >点击标记的单选按钮的Java标准版 ->单击下一步按钮->浏览/usr/lib/jvm/java-8-openjdk-amd64并选择它作为默认Java版本。

(可选)您可以安装openjdk-11-jdk而不是openjdk-8-jdk或与其一起安装。在Ubuntu 18.04的Netbeans中,openjfx可与openjdk-8-jdk和openjdk-11-jdk一起使用。我在Ubuntu 18.04中使用Netbeans 8.2 10.0。


谢谢,您的命令可以使用,但是仍然可以在我的java.io库中接收到错误Exception in thread "main" java.lang.IllegalStateException: Toolkit not initialized...我不知道为什么
maria

@Mara对不起,我发现您遇到的错误是在JavaFX代码中,因为我没有在第一次上载时将所有代码复制到Pastebin中。第一次上传时,我在结尾处省略了两个花括号。我在这里再次上传了代码。我在Netbeans中的JavaFX项目的名称是HelloWorldFX。
karel

仅在安装JDK 8并将IntelliJ中的项目SDK更改为8(不想在SDK 10上使用)之后,JavaFX才能在18.04上为我工作。
在线

在IntelliJ中,这肯定是一个JDK路径问题,因为JDK 8和11在Ubuntu 18.04的Netbeans中都可以同时使用具有相同JavaFX软件包的两者。
karel

我检查了整个硬盘,但安装openjfx后似乎找不到javafx发行版。它不在/ usr / lib / jvm / <jdk> / jre / lib / ext /中,我发现它在其他设备上,例如运行manjaro的笔记本电脑。:/
Niklas Vest

0

我认为最简单的方法是安装sdkman。安装完成后,检查所有可用的候选对象:

$ 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

而且你很好走!我希望这有帮助!:)


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.