Java cannot find JavaFx classes although present in JDK

守給你的承諾、 提交于 2019-12-04 02:15:57

问题


I am currently working on an application using javafx for its UI. I am using java 9. When I pulled from github to continue development on my new computer and compiled, there were compilation errors at all references of javafx classes, and only javafx classes.

I searched in the jdk in external resources, and the javafx package was indeed where it was supposed to be. I also made a new project using the same jdk and opened a javafx window, which worked fine. This tells me that this is a project-specific issue, rather than a system issue.

Does anyone have some insight into this? Thanks.

EDIT I am using Intellij comunity Ed. The error list was expansive, but here are a few


回答1:


Your IDE may have set the project up as a "modular" Java 9 project. In modular projects, you specify which other modules the project depends on, and which packages in your module(s) should be exposed to other modules. A good general tutorial on modules is at the OpenJDK wiki.

If there's a module-info.java file in the classpath root, you need to explicitly state that your module requires access to the appropriate JavaFX modules. It may be enough just to add

requires javafx.controls ;

to this file: that will give you access to the javafx.controls module, and the modules on which it depends (javafx.graphics and javafx.base). Depending on your project, you may also need

requires javafx.fxml ;

and/or

requires javafx.web ;

etc.



来源:https://stackoverflow.com/questions/48853477/java-cannot-find-javafx-classes-although-present-in-jdk

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!