【发布时间】:2019-10-13 10:27:18
【问题描述】:
环境:
- 操作系统:为了开发和运行应用程序,将使用安装了 OpenJDK 1.8 和 Maven 的 Windows 10 Pro (1809) 和 Linux(类似于 Ubuntu 或 Debian)。
- JDK: OpenJDK 1.8
- IDE: IntelliJ Ultimate
- 构建工具 Maven(多模块项目,一个模块使用JavaFX)
- 我非常不想使用任何付费许可证(尽管对于这个项目,我可能可以免费使用 Oracle JDK...)。
问题:
我知道,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。
问题:
- 我可以向我的
pom.xml添加/更改一些内容以使我的应用程序编译和运行吗? - 我是否绝对需要升级到 OpenJDK 11 或 12?
【问题讨论】:
-
你不能用 JDK 8 运行 JavaFX 11+。如果你真的需要保持在 8,我建议你使用已经捆绑了 JavaFX 的 JDK,那里有几个选项,或者您从 OpenJFX 安装 JavaFX 8(但不使用 Maven)。
-
我想知道是什么让您无法仅更新到 JDK 的当前版本 12。我的意思是这是一个严肃的问题,而不是批评。
-
@mipa:我个人?没有!我对新版本/技术非常开放,并且我会尽可能更新所有内容,尽管我知道这在大多数情况下会导致问题并耗费工时。