java - 使用 OpenJDK 在 Windows 上运行 JabRef

标签 java javafx

虽然我只是想安装 JabRef,但我很惊讶这个看似简单的任务却给我带来了这么多麻烦。

我使用的是 Windows 10,我想使用 JabRef(最新版本为 4.3.1)。我没有适用于 Java 8 的 JRE 或 JDK,但有 Oracle Java 12 JDK。 JabRef 需要 JDK 8,但如果没有登录,我无法从 Oracle 下载它。 (因为他们很爱管闲事,所以我拒绝注册下载。)

因此,我尝试使用 OpenJDK,但它没有附带 JavaFX,而 JabRef 需要 JavaFX。我还下载了 OpenJFX,但现在我很困惑如何将所有内容组合在一起。 OpenJFX 没有“安装”,因此 JabRef 仍然提示没有 JavaFX:

java.lang.NoClassDefFoundError: javafx/application/Application
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:81)
at com.exe4j.runtime.WinLauncher.main(WinLauncher.java:94)
at com.install4j.runtime.launcher.WinLauncher.main(WinLauncher.java:25)
Caused by: java.lang.ClassNotFoundException: javafx.application.Application
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 15 more

所以,我的问题是:

  • 如何定义 OpenJFX 的位置?或者
  • 从哪里可以获得包含 JavaFX for Java 8 的 JDK 或 JRE?

最诚挚的问候!

最佳答案

好的,我找到了一个适合我的解决方案。我只是使用了包含 Java FX 的 Java 8 JDK:ZuluFX .

我卸载了 JabRef 并重新安装了它。当我重新安装 JRE 时,系统提示我说出 JRE 的位置。之后,它似乎工作正常。

关于java - 使用 OpenJDK 在 Windows 上运行 JabRef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56008281/

相关文章:

java - 在Java中创建通用有序链表,使用compareTo()时遇到问题

javafx - Java FX 使用 fxml 文件创建自定义对话框。如何设置或从中获取结果?

Java Fx - 将功能放大到实时图表

java - 使用 List<String> 填充 Java FX 组合框

java - 将 FXML 与 "pure javafx"代码混合

java - 谁能解释 Proguard 配置设置 : -keep @interface *

java - 类型不匹配 : cannot convert from ASuperClass to ASubClass

java - 使用 Docusign Java 客户端时遇到 java.lang.NoClassDefFoundError : class com. sun.jersey.core.header.MediaTypes

java - 当放置受到限制时,如何在java中生成整数的所有组合?

memory-leaks - JavaFX Node 对象不被垃圾回收