尝试启动 jabref 时,我看到以下错误
WARN No appenders could be found for logger (org.java.plugin.ObjectFactory).
log4j:WARN Please initialize the log4j system properly.
Oct 31, 2012 1:04:43 PM net.sf.jabref.plugin.PluginCore initialize
INFO: Found 2 plugin(s):
- net.sf.jabref.core
(jar:file:/usr/share/java/JabRef-2.5.jar!/plugins/net.sf.jabref.core/plugin.xml)
- net.sf.jabref.export.misq
(jar:file:/usr/share/java/JabRef-2.5.jar!/plugins/net.sf.jabref.export.misq/plugin.xml)
Unable to create graphical interface.
操作系统是 Ubuntu
cat /etc/issue
Ubuntu 10.04.4 LTS \n \l
uname -a
Linux desktop 2.6.32-32-generic #62-Ubuntu SMP Wed Apr 20 21:52:38 UTC 2011 x86_64 GNU/Linux
Java 版本是
java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.4) (6b24-1.11.4-1ubuntu0.10.04.1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)
jabref 版本是
jabref -v
2.5 (build 67)
真正奇怪的是,我有另一台设置类似的 Ubuntu 电脑,jabref 在那里运行没有任何错误。我尝试比较差异,但没有发现任何差异。此外,我已经尝试重新安装 jabref,但没有帮助。
有人可以建议要寻找什么吗?
答案1
使用 Oracle 的 JRE。Jabref 似乎与 OpenJDK 和 IcedTea 存在问题,如建议的那样这里和这里。也许只在 64 位系统上,但我不知道。
例如,有几本手册介绍了如何用 Oracle Java 替换 OpenJDK这。如果您通常想使用 Oracle Java 而不是 OpenJDK,请按照其中的说明进行操作。
相反,如果您想保持系统原样,但仅使用 Oracle Java 运行 JabRef,请按照以下步骤操作:
- 下载JRE 发行版。选择适合您的系统(32 位或 64 位)的 tgz 包。
- 将 JRE 分发版提取到专用文件夹中,例如
/home/user/bin/myjre
。 - 下载JabRef 的 JAR 分发版。
- 将 JabRef.jar 保存到专用位置,例如
/home/user/bin/JabRef-2.9.2.jar
。 通过调用以下命令执行 JabRef:
/home/user/bin/myjre/bin/java -jar /home/user/bin/JabRef-2.9.2.jar
这样,您系统的 OpenJDK 就不会受到影响,所有其他程序将继续使用它。除了步骤 3 和 4,您可能还可以找到包管理器将安装的 JabRef.jar。不过,这通常会是一个稍旧的版本。