我有一个JavaFX项目,我想编译到jar,以便JRE 8及以上版本能够运行jar . 我正在使用Intellij IDEA 2017 CE,在Mac上运行,使用JDK 9.0.1作为我的项目SDK .

该项目适用于以下gradle设置:

sourceCompatibility = 1.9
targetCompatibility = 1.9

但是,当我将目标兼容性调整为 1.8 时:

sourceCompatibility = 1.9
targetCompatibility = 1.8

它显示了与缺少的JavaFX库相关的错误流:

Error:(1, 26) java: package javafx.application does not exist
Error:(2, 23) java: package javafx.geometry does not exist
Error:(3, 23) java: package javafx.geometry does not exist
Error:(4, 20) java: package javafx.scene does not exist
Error:(5, 28) java: package javafx.scene.control does not exist
...

我查看了其他stackoverflow的答案,看看为什么会发生这种情况,例如:

我还试图在构建项目之前使缓存无效,但无济于事 .

如何使用JDK编译到JRE 8?