Eclipse/Java 9环境下e(fx)clipse 3.7.0运行报javafx.controls缺失怎么解决
Java SE 9 环境下 Eclipse JavaFX 模块找不到问题解决方案
根本原因
Java SE 9 本身内置完整的 JavaFX 组件,无需额外下载独立 JavaFX SDK 或 jar 包。报错的核心原因是 e(fx)clipse 生成的默认项目配置未正确适配 JDK 9 的模块化规则,未声明依赖的 JavaFX 内置模块。
操作步骤
1. 清理错误配置
- 右键报错的 JavaFX 项目,选择 Build Path > Configure Build Path,进入 Libraries 标签页
- 移除 Modulepath、Classpath 下所有手动导入的 JavaFX 独立 jar 包
- 确认 JRE System Library 绑定的是本地的 Java SE 9 版本,而非 Eclipse 自带的默认 JRE
2. 修正模块声明文件
打开项目根目录下的 module-info.java 文件,替换为以下配置,将占位符替换为你的项目实际信息:
module 你的自定义模块名 { // 声明依赖的JavaFX内置模块,按需添加 requires javafx.controls; requires javafx.fxml; requires javafx.graphics; // 开放主类所在包给JavaFX模块反射调用 opens 你的主类所在包名 to javafx.graphics; // 若存在FXML对应的控制器包,额外添加以下配置 opens 你的控制器包名 to javafx.fxml; // 导出主类所在包 exports 你的主类所在包名; }
3. 修正运行参数
- 右键主类文件,选择 Run As > Run Configurations
- 找到当前项目对应的 Java Application 运行配置,进入 Arguments 标签页
- 在 VM arguments 输入框中添加以下参数:
--add-modules javafx.controls,javafx.fxml,javafx.graphics
- 点击 Apply 保存配置
4. 重新构建项目
右键项目选择 Clean,等待Eclipse自动重新构建完成,即可解决代码红警和启动报错问题。
内容的提问来源于stack exchange,提问作者PioneerRaptor
相关产品推荐
相关产品推荐

