【发布时间】:2021-02-27 21:56:24
【问题描述】:
我不是开发人员。安装 OpenJDK 和 javafx 并设置环境“路径”变量后,我正在尝试启动和使用当前与 Oracle JDK 1.8 一起运行的基于 Java 的 Windows 桌面工具
由于 Oracle JDK 已获得商业使用许可,我正在尝试了解 OpenJDK 8 是否是一个不错的选择。 (注意:我们环境中所有其他基于 Java 的应用程序都是基于 Java 1.8。所以我们不能超越 OpenJDK 8)
我试过了! 我下载了 AdoptOpenJDK 8 并将其解压缩到本地目录中。 我将系统路径变量设置为相应的 JDK/bin 文件夹。 尝试启动我们基于 java 的工具并收到以下错误,因为缺少 javafx 组件。 对其他 OpenJDK 8 选项重复相同的步骤。
Exception in thread "UI:MainUI" java.lang.NoClassDefFoundError: javafx/embed/swing/JFXPanel
Caused by: java.lang.ClassNotFoundException: javafx.embed.swing.JFXPanel
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
由于 javafx 是内置在 Oracle JDK 中的,因此我们在使用它时不会出现此错误。但是对于我尝试过的所有 OpenJDK 8(Oracle OpenJDK 8、AdoptOpenJDK 8、Zulu OpenJDK 8、Libertica OpenJDK 8)都出现了相同的错误。
试图找出是否可以将 OpenJFX 或 javafx 与 OpenJDK 8 一起安装在单独的目录中并启动我的工具。或者,在安装 OpenJDK 8 而不是 Oracle JDK 的情况下启动/使用该工具是否有其他选择?
【问题讨论】: