我有一个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的答案,看看为什么会发生这种情况,例如:
-
JavaFX comes with JDK 8?说JavaFX与JDK 1.8捆绑在一起,但我使用的是JDK 1.9 .
-
JavaFX and OpenJDK说OpenJDK有JavaFX,但我没有使用OpenJDK
-
cannot resolve symbol javafx.application in IntelliJ Idea IDE说OpenJDK没有JavaFX(什么?),但我没有使用OpenJDK
我还试图在构建项目之前使缓存无效,但无济于事 .
如何使用JDK编译到JRE 8?