尽管存在于JDK中,但Java找不到JavaFx类

时间:2018-02-18 15:44:32

标签: java javafx compiler-errors javafx-9

我目前正在使用javafx为其UI开发应用程序。我正在使用java 9.当我从github撤出以继续在我的新计算机上进行开发并编译时,在javafx类的所有引用上都存在编译错误,并且只有javafx类。

我在jdk中搜索了外部资源,而javafx包确实在它应该的位置。我还使用相同的jdk创建了一个新项目,并打开了一个javafx窗口,工作正常。这告诉我这是一个特定于项目的问题,而不是系统问题。

有没有人对此有所了解?感谢。

EDIT 我正在使用Intellij社区Ed。错误列表是广泛的,但这里有一些 enter image description here

1 个答案:

答案 0 :(得分:3)

您的IDE可能已将项目设置为"模块化" Java 9项目。在模块化项目中,您可以指定项目所依赖的其他模块,以及模块中的哪些软件包应该公开给其他模块。关于模块的一般指导很好的是OpenJDK wiki

如果类路径根目录中有module-info.java文件,则需要明确声明您的模块需要访问相应的JavaFX模块。添加

可能就足够了
requires javafx.controls ;

到此文件:这将允许您访问javafx.controls module及其所依赖的模块(javafx.graphicsjavafx.base)。根据您的项目,您可能还需要

requires javafx.fxml ;

和/或

requires javafx.web ;