简体   繁体   English

在Windows上使用OpenJDK运行JabRef

[英]Running JabRef on Windows with OpenJDK

although I'm just trying to install JabRef, I am quite surprised that this seemingly easy task is giving me so much trouble. 尽管我只是在尝试安装JabRef,但令我感到惊讶的是,这个看似简单的任务给我带来了很多麻烦。

I am using Windows 10 and I want to use JabRef (the most current version, which is 4.3.1). 我正在使用Windows 10,并且想使用JabRef(最新版本为4.3.1)。 I do not have the JRE oder JDK for Java 8, but I have the Oracle Java 12 JDK. 我没有Java 8的JRE oder JDK,但是我有Oracle Java 12 JDK。 JabRef requires a JDK 8 but I cannot download it from Oracle without login. JabRef需要JDK 8,但如果没有登录我就无法从Oracle下载它。 (And since they are quite nosy, I refuse to sign up to get the download.) (而且,由于它们非常管闲,我拒绝注册以获得下载。)

So, I tried to use OpenJDK but that does not come with JavaFX, which JabRef requires. 因此,我尝试使用OpenJDK,但是JabRef要求JavaFX不附带。 I also downloaded OpenJFX but now I am puzzled how to put everything together. 我还下载了OpenJFX,但是现在我很困惑如何将所有内容放在一起。 OpenJFX is not "installed", so JabRef still complains that there is no JavaFX: 未“安装” 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

So, my question is: 所以,我的问题是:

  • How can I define where my OpenJFX is?, or 如何定义OpenJFX在哪里?或者
  • Where can I get a JDK or JRE that contains JavaFX for Java 8? 在哪里可以获得包含JavaFX for Java 8的JDK或JRE?

Best regards! 最好的祝福!

OK, I found a solution that worked for me. 好的,我找到了适合我的解决方案。 I simply used a JDK for Java 8 that includes Java FX: ZuluFX . 我只是简单地使用了Java 8的JDK,其中包括Java FX: ZuluFX

I unstalled JabRef and reinstalled it. 我取消安装JabRef,然后重新安装。 I was prompted to say where my JRE ist when I reinstalled it. 当我重新安装JRE时,系统提示我说它在哪里。 After that, it seems to work fine. 在那之后,它似乎工作正常。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM