JavaFX自Java 11起需单独配置:选用JDK 17+,从Gluon官网下载配套JavaFX SDK,通过--module-path和--add-modules指定模块路径与依赖,如javafx.controls、javafx.fxml等,Maven可自动管理依赖与参数。

JavaFX 自 Java 11 起不再默认包含在 JDK 中,所以需要单独配置运行环境。核心是:用较新 JDK(如 JDK 17+),再额外引入官方 JavaFX SDK,并在运行时通过 --module-path 和 --add-modules 显式声明模块依赖。
确认 JDK 版本并选择配套 JavaFX
JavaFX 官方推荐搭配 LTS 版 JDK 使用(如 JDK 17、21)。注意:
- 不要用 Oracle JDK 8–10(自带 JavaFX,但已过时且不维护)
- 避免 OpenJDK 预编译包(如某些 Linux 发行版自带的 openjfx 包),可能版本混乱或缺模块
- 统一从 Gluon 官网 下载对应操作系统的 JavaFX SDK(zip/tar.gz)
添加 JavaFX 到项目构建路径(IDE 示例)
以 IntelliJ IDEA 为例(Eclipse 类似):
-
解压下载的 JavaFX SDK,记下完整路径(如
/path/to/javafx-sdk-21.0.2) - 打开项目结构(File → Project Structure → Libraries),点击 + → Java,选中 SDK 解压目录下的
lib文件夹 - 确保勾选该库作用于 Modules 和 Run Configuration
配置运行参数(关键!)
JavaFX 应用必须显式指定模块路径和启用模块。在运行配置中设置 VM options:
立即学习“Java免费学习笔记(深入)”;
--module-path "/path/to/javafx-sdk-21.0.2/lib" --add-modules javafx.controls,javafx.fxml常见组合模块:
-
javafx.controls:按钮、表格、对话框等基础控件(必加) -
javafx.fxml:支持 FXML 加载(用到 .fxml 文件时加) -
javafx.web:嵌入 WebView(需网页渲染时加) -
javafx.swing:与 Swing 互操作(较少用)
使用构建工具(Maven / Gradle)更省心
推荐用 Maven 管理依赖,自动处理模块路径:
在 pom.xml 中添加:
org.openjfx javafx-controls 21.0.2 org.openjfx javafx-fxml 21.0.2
再配合 maven-compiler-plugin 和 maven-surefire-plugin 设置模块参数,IDE 运行时会自动识别。
基本上就这些。不复杂但容易忽略的是运行参数——漏写 --add-modules 会直接报 java.lang.NoClassDefFoundError: javafx/application/Application。配好一次,后续开发就很顺了。










