JabRef 无法打开

JabRef 无法打开

我尝试通过 Ubuntu 软件 GUI (18.04) 安装 JabRef。其中列出了两个 jabref:“jabref”(版本 4.2-dev)和“JabRef”(版本 3.8.2+ds-3)。

“JabRef” 打开正常,似乎可以正常工作,但 DOI 搜索却不行(“从 doi 获取时出错。无效的 URL”)

“jabref” 安装正常,但单击时无法打开。

最后我从他们的网站下载了最新版本(JabRef-4.3.1.jar),遗憾的是我得到了以下结果:

bruno@bruno:~/Desktop/Jab$ java -jar JabRef-4.3.1.jar 
Error: Could not find or load main class org.jabref.JabRefMain
Caused by: java.lang.NoClassDefFoundError: javafx/application/Application
bruno@bruno:~/Desktop/Jab$

如果我只是右键单击它并单击“使用 OpenJDK 8 Java 运行时打开”或“使用 OpenJDK 11 Java 运行时打开”,那么什么也不会发生......有人知道解决方案吗?

答案1

基于https://stackoverflow.com/questions/55162858/cannot-run-jar-on-ubuntu-with-jfx

我尝试java -jar --module-path /usr/share/openjfx/lib --add-modules=javafx.controls,javafx.fxml ~/Desktop/JabRef-4.3.1.jar删除 openjdk 8 和 openjfx 8 软件包,并安装 11.0.2 (openjfx) 和 11.0.3 (openjdk)

这报告称 Java 9 不受支持,而 AFAICS 意味着 11 也不受支持。

尝试wget https://builds.jabref.org/master/JabRef--master--latest.jarjava -jar --module-path /usr/share/openjfx/lib --add-modules=javafx.controls,javafx.fxml ~/Downloads/JabRef--master--latest.jar给予

WARNING: sun.reflect.Reflection.getCallerClass is not supported. This will impact performance.
13:27:43.069 [JavaFX Application Thread] ERROR org.jabref.logic.l10n.Localization - Messages are not initialized before accessing key: Your current Java version (%0) is not supported. Please install version %1 or higher.

这表明,截至撰写本文时(2019 年 6 月 21 日),使用 openjdk 和 openjfx 8 是实现此目的的唯一方法,因此我会尝试一下。

基于https://bugs.launchpad.net/ubuntu/+source/openjfx/+bug/1825054/comments/13

apt install openjdk-8-jdk=8u162-b12-1 openjdk-8-jre=8u162-b12-1 openjdk-8-jdk-headless=8u162-b12-1 openjdk-8-jre-headless=8u162-b12-1
apt-mark hold openjdk-8-jdk openjdk-8-jre openjdk-8-jdk-headless openjdk-8-jre-headless
apt remove 'openjdk-11*'
apt install libopenjfx-java=8u161-b12-1ubuntu2 libopenjfx-jni=8u161-b12-1ubuntu2 openjfx=8u161-b12-1ubuntu2
apt-mark hold libopenjfx-java libopenjfx-jni openjfx
apt install libcanberra-gtk-module # optional, I think

然后java -jar ~/Downloads/JabRef--master--latest.jar启动,正如一样java -jar ~/Downloads/JabRef-4.3.1.jar,尽管后者抱怨 Java 版本。

相关内容