使用 OpenJDK 1.8 的 JavaFX 的 Maven 依赖项

Maven dependency for JavaFX using OpenJDK 1.8

环境:

问题:

我知道,JDK 1.8 应该包含 JavaFX。然而,对于 OpenJDK 1.8,不知何故,情况似乎并非如此(没有 Maven 依赖项,IntelliJ 不接受 import javafx.application.Application; 或任何其他 JFX 导入)。

出于这个原因,我试图将其作为 Maven 依赖项包含在内。如果我使用:

    <!-- JavaFX -->
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>11</version>
    </dependency>
    .
    .
    .

我收到以下错误消息:

Error:(3, 26) java: cannot access javafx.application.Application
   bad class file: /C:/Users/kaspa/.m2/repository/org/openjfx/javafx- 
   graphics/11/javafx-graphics-11-win.jar!/javafx/application/Application.class
   class file has wrong version 54.0, should be 52.0
   Please remove or make sure it appears in the correct subdirectory of the 
   classpath.

使用 <version>12</version> 得到 [...]wrong version 55.0, should be 52.0[...].

最低<version>,Maven里面的<dependency>,我好像能用bo 11.

问题:

首先,介绍一下背景。从 Java 8 到 Java 10,Oracle JDK 曾经与 JavaFX 一起提供。但是,即使在这些版本中,JavaFX 也不是 OpenJDK 的一部分。从 Java 11 开始,JavaFx 也不是 Oracle JDK 的一部分(与 OpenJDK 一样)。

所以,你做错了什么?

您正在尝试 运行 JavaFX 11 和 12 与 JDK 8。 这是不可能的。

你能做什么?

获取 openjfx 8。您可以从 source 构建它们,也可以通过 sudo-apt 在 Ubuntu 上安装它们。

JavaFX 8 是否可用作 Maven 依赖项?

我不知道!

我的建议.. 如果您想使用 Java8 或升级到 Java11 并使用 openJFX 作为 Maven 依赖项,请使用 Oracle JDK。