我尝试通过 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.jar
并java -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 版本。