You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaFX运行报错:模块Proj未将proj.new包导出至javafx.fxml模块问题问询

报错根因

该报错是Java 9及以上版本引入的JPMS(Java平台模块系统)的访问限制导致的:javafx.fxml模块需要通过反射加载你定义的proj.new.exampleclass控制器类,但你的Proj模块没有开放对应包的访问权限给javafx.fxml。你之前配置的Eclipse构建路径导出是类路径模式下的配置,在模块体系下不生效。

解决步骤
  • 第一步:确认项目根目录的src文件夹下存在module-info.java模块描述文件,如不存在,右键项目 -> 点击Configure -> 选择Create module-info.java生成即可。
  • 第二步:编辑module-info.java,添加包导出/开放配置,示例配置如下:
module Proj {
    // 引入依赖的JavaFX模块,按需补充其他用到的模块
    requires javafx.controls;
    requires javafx.fxml;
    requires javafx.graphics;

    // 导出proj.new包给javafx.fxml模块访问公共类
    exports proj.new to javafx.fxml;
    // 若控制器中存在@FXML注解的非public字段/方法,需额外添加开放配置允许反射访问
    opens proj.new to javafx.fxml;

    // 导出主类所在包,保障程序正常启动
    exports proj;
}
  • 第三步:核对包识别状态,右键proj.new文件夹 -> 选择Build Path,确认该文件夹被标记为Source Folder,如不是选择Use as Source Folder即可。
  • 第四步:清理并重建项目,点击顶部菜单栏Project -> 选择Clean -> 选中你的Proj项目执行清理,之后重新运行项目即可。
可选替代方案

如果不需要使用JPMS模块特性,可以直接删除module-info.java文件,项目会自动切换为无名类路径模式运行,也可以绕过该访问限制。


内容的提问来源于stack exchange,提问作者MakeTheErrorDie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 05:36:06