JDK 1.9编译为1.8时不存在JavaFX包

时间:2018-03-04 03:13:23

标签: java intellij-idea javafx

我有一个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答案,看看为什么会发生这种情况,例如:

  1. JavaFX comes with JDK 8? 说JavaFX与JDK 1.8捆绑在一起,但我使用的是JDK 1.9。
  2. JavaFX and OpenJDK说OpenJDK有JavaFX,但我没有使用OpenJDK
  3. cannot resolve symbol javafx.application in IntelliJ Idea IDE说OpenJDK没有JavaFX(什么?),但我没有使用OpenJDK
  4. 我还试图在构建项目之前使缓存无效,但无济于事。

    如何使用JDK编译到JRE 8?

0 个答案:

没有答案