首页 > 解决方案 > 如何解决 java.lang.UnsupportedClassVersionError?JRE 55.0编译的org/openjfx/gradle/JavaFXPlugin,JRE只识别52.0

问题描述

我试图在命令提示符下运行我的 Gitlab 代码,但它失败了。 我正在使用 Gradle,它说“java.lang.UnsupportedClassVersionError: org/openjfx/gradle/JavaFXPlugin 已由 Java 运行时的更新版本(类文件版本 55.0)编译,此版本的 Java 运行时仅识别类文件版本高达 52.0"

我安装了 Java 8 和 JavaFX 11。我应该下载 Java 11 吗?但是,我听说我的一些朋友在安装 JavaFX 时遇到了困难,因为他们使用的是 Java 11。还有其他方法可以解决这个问题吗?我是一个编程菜鸟,有人可以帮助我吗?

标签: javagradlegitlab

解决方案


首先,您必须知道 JavaFX 不再包含在 SDK 中。问题是您为 FX 项目选择了错误的 Java 版本。我建议您下载更新的 Java 版本。我目前正在使用 Java 11 和 JavaFX 11。问题是您必须指定 VM 参数并链接所需的 JavaFX 模块。这是我设置 JavaFX 11 和 Java 11 的结果

本文档仅适用于 Windows!此外,我将 IntelliJ 用于我的项目

  1. 下载并安装 Java 11

  2. 从https://gluonhq.com/products/javafx/下载 JavaFX

  3. 在 C:\Users\YOUR USER 中创建一个名为 .jdk 或任何您想要的文件夹,将 Openjfx zip 粘贴到那里并解压缩。您可以将文件夹设置在您想要的任何位置,但将其设置在您可以轻松再次找到它的位置。

  4. 在 IntelliJ 中设置 Java 版本:点击File -> Project Structure -> Project并选择 Java 11

  5. 为 Gradle 设置 Java 版本:点击File -> Settings -> Build Execution Deployment -> 在窗口中选择Gradle JVM

  6. 如下设置 VM 选项:--module-path /path/to/javafx/sdk --add-modules javafx.controls,javafx.fxml

您可以通过用“,”分隔来添加更多模块,对此另请参阅:https ://www.jetbrains.com/help/idea/javafx.html#vm-options

这就是我在 Java 11 上设置 JavaFX 的方式。在提供 Jar 供外部使用时,您也必须使用 VM Options 启动它。除了您创建了一个已经包含模块的 Jar,请参阅 Jlink 文档。


推荐阅读