Gradle多模块编译报错:找不到javafx.stage.Stage类文件
JavaFX Stage类编译找不到的原因
- 核心事实:
javafx.stage.Stage类不属于javafx.graphics模块,而是归在javafx.controls模块里。 - JavaFX模块划分逻辑:JavaFX模块化后,
javafx.graphics只负责底层渲染核心类(比如Scene、Node),窗口管理相关的类(Stage、Popup这类)被单独放在javafx.controls模块,这是官方明确的职责拆分。 - 依赖传递的影响:当你依赖
javafx.controls时,它会自动传递引入javafx.graphics,所以两个模块的类都能被加载;但单独依赖javafx.graphics时,模块路径上确实没有Stage类的字节码,自然编译报错。 - 验证方法:你可以直接查看JavaFX 26.0.1的
javafx.graphicsJAR包内容,里面找不到javafx.stage.Stage,而javafx.controls的JAR包中才有这个类。
内容的提问来源于stack exchange,提问作者Vertongen
相关产品推荐
相关产品推荐

