JDK11,在eclipse中使用JavaFX

Eclipse版本 Version: 2018-12 (4.10.0)
JDK版本 11.0.2
Windows 64

首先,JavaFX的官方文档链接
里面有很详细的说明,这篇文章并不是完全按照里面来的。

大概步骤:
1.下载JavaFX运行时 Download an appropriate JavaFX runtime 解压到文件夹(位置不需要固定但是要记住路径),例如:
D:\openjfx-11.0.2_windows-x64_bin-sdk\javafx-sdk-11.0.2"

2.默认已经下载了Ecliplse,并且配置好了Java11.0.2的开发环境。这里做一下说明,注意,Java11版本开始,JDK和javaFX就被分开了(到jdk里面用命令行导出jre文件夹之后会发现并没有javafx的jre包),所以并不是下载一个e(fx)clipse插件就能使用的,你必须手动下载并且添加。

3.按照官方文档 创建一个 User Library 把之前下载的JavaFX runtime文件中lib下面的jre都包含进去
Eclipse -> Window -> Preferences -> Java -> Build Path -> User Libraries -> New
接下来命名随意,创建工程的时候就可以在Library里面找到自己添加的FX lib了

4.创建一个java项目,需要三个文件,(别人的github项目链接),并且导入自定一的Library路径。

5.运行时出现下面问题二,官方文档提到了解决方案,就是添加VM参数
Run -> Run Configurations...选择 Main.java 也就是主类所在点击Arguments选项卡就可以看到VM Arguments 的选项,添加下面参数
--module-path "\path\to\javafx-sdk-11\lib" --add-modules javafx.controls,javafx.fxml

这里 \path\to\javafx-sdk-11\lib 参数是之前下载的openjfx文件解压的路径,例如
--module-path "D:\eclipse\openjfx-11.0.2_windows-x64_bin-sdk\javafx-sdk-11.0.2\lib" --add-modules javafx.controls,javafx.fxml

运行成功

问题一、The import javafx cannot be resolved

问题二、Error: JavaFX runtime components are missing, and are required to run this application

问题三、错误: 无法初始化主类 application.Main

至于问题一,大概是在一开始没有考虑到Java11版本JDK和javaFX分离的时候,用安装插件的方式运行JavaFX导致的
问题三的话,概率是因为 Library 包的导入出问题,检查路径或者直接进去路径里面找找这几个jre文件是不是都存在。
JavaFX runtime解压文件

猜你喜欢

转载自blog.csdn.net/Sky_Coolssy/article/details/90113638