在Windows上使用OpenJDK运行JabRef

时间:2019-05-06 15:31:05

标签: java javafx

尽管我只是想安装JabRef,但令我感到惊讶的是,这个看似简单的任务给我带来了很多麻烦。

我正在使用Windows 10,并且想使用JabRef(最新版本,即4.3.1)。我没有Java 8的JRE oder JDK,但是我有Oracle Java 12 JDK。 JabRef需要JDK 8,但如果没有登录我就无法从Oracle下载它。 (而且由于他们很管闲,我拒绝注册以获得下载。)

因此,我尝试使用OpenJDK,但是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?

最诚挚的问候!

1 个答案:

答案 0 :(得分:0)

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

我取消安装JabRef,然后重新安装。当我重新安装JRE时,系统提示我说它在哪里。之后,它似乎可以正常工作。