Linux/Ubuntu上使用JDK1.8配置JavaFx

今天接到了一个工作,使用JavaFx进行界面化开发。但是呢这个程序在我的Ubuntu上就是跑不通,老是找不到javafx这个包。费了一番周折之后才解决了问题。

首先如果你的项目是maven开发的,那么请配置好你的maven

Linux/Ubuntu上使用JDK1.8配置JavaFx
注意Maven home 以及配置文件和仓库的位置。
Linux/Ubuntu上使用JDK1.8配置JavaFx
然后在importing选项卡中正确配置你的JDK for importer

正确配置编译器

Linux/Ubuntu上使用JDK1.8配置JavaFx
这里的Project bytecode version要正确设置为8

正确配置项目JDK版本

在File -> Project Strucrure 里面找到project,将Project SDK设置为jdk8的路径。同时那个Project language level要设置成8
Linux/Ubuntu上使用JDK1.8配置JavaFx

SDK版本要正确

在File -> Project Strucrure 里面找到SDKS,然后正确设置为JDK1.8
Linux/Ubuntu上使用JDK1.8配置JavaFx

最后重头戏。

要将jfxrt.jar 添加至SDK中,点击加号,找到/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext,正常来说,这里面是有jfxrt.jar这个包的,但是我的jdk版本没有,我也很奇怪。然后想用windows下的进行替换,替换后运行程序发现,竟然是不兼容的!因此费劲周折找到了一个linux 64版本的jfxrt.jar包。
有需要的小伙伴可以给我留邮箱。但是将这个jar包添加到/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/lib/ext/下之后,再点击加号,添加到IDEA的SDK中
Linux/Ubuntu上使用JDK1.8配置JavaFx

这还没有完,需要运行一条命令。(ubuntu下)
sudo apt install openjfx=8u161-b12-1ubuntu2 libopenjfx-java=8u161-b12-1ubuntu2 libopenjfx-jni=8u161-b12-1ubuntu2
至此,可以成功运行。