【发布时间】:2021-11-15 10:24:40
【问题描述】:
前言:我已经安装了最新版本的 Eclipse,并且一直在使用它没有问题。我现在遇到了问题,因为我们应该在未来的项目中实现 JavaFX。
以下是我得到的指示:
安装 JavaFX 如果您安装了最新版本的 Eclipse 在你的机器上:
- 在 Eclipse 中,转到帮助、Eclipse MarketPlace
- 在“查找”栏中搜索“javafx”
- 点击“e(fx)clipse 3.7.0”旁边的“安装”
- 如果弹出一条提示错误的消息,那是因为您还有其他将被覆盖的包 - 没关系,请确认这些 更新。
- 出现提示时重新启动 Eclipse
在 Eclipse 中创建 JavaFX 项目,新建 > 项目 > JavaFX > JavaFX 项目
现在,我已按照上述所有步骤操作,但由于以下错误,默认 Main.java 无法编译和运行,因此我无法执行任何操作:
启动层初始化时出错 java.lang.module.FindException:找不到模块 javafx.controls
现在,代码中有很多红色下划线,我很确定这与 JavaFX 库不可用有关。
我在 Google 上搜索并遵循了 Stack Overflow 和其他资源中的其他说明集,但它们几乎都与 Java SE 11 及更高版本有关,并且我们需要使用 Java SE 9。
这是我当前的构建路径。虽然说明是指 Java SE 11,但我确实安装了一些 JavaFX .jar 文件并将它们上传到类路径下(目前没有图片,因为我在没有解决问题时删除了它们)。
我看到另一组指令说要在 Java 9 的 JRE 下编辑 isModular 设置,但是当我在源模块下键入“javafx.controls”以添加导出时,它告诉我“模块'javafx.controls " 不是此构建路径条目提供的。
【问题讨论】:
-
如果 Java 9 是您的项目允许使用的最高版本,并且您很难找到支持它的开发环境,请改用 Java/JavaFX 8(如果允许)。与 Java 9 版本相比,IDE 更可能更好地支持版本 8。您遇到的问题与 Java/JavaFX 平台模块化有关,Java 8 中没有实现,因此切换到 Java 8 可能会解决您的问题。当然,如果必须是 Java 9 并且只有 Java 9,这个注释对你没有帮助。
-
谢谢,感谢您的反馈,是的,如果我们可以回滚到 8 会容易得多。不幸的是,它没有。
-
我建议您联系为您的项目设置需求的人,并请求更新需求以使用现代软件。
-
我更喜欢切换到 jdk 8 或 11 及更高版本。如果不可能,请将其添加到 VM 选项中。 --module-path /path/to/JavaFX/lib --add-modules=javafx.controls