2

我最近安装了 ubuntu 12.04 final beta

从 webupd8 ppa 安装 oracle jdk 后,启动 eclipse 失败并抱怨缺少共享库。

Can't load library: /home/bob/.swt/lib/linux/x86_64/libswt-gtk-3740.so

我四处搜索,发现了这个问题:Eclipse cannot load SWT libraries

正如 OP 所推荐的,我尝试切换到 open-jdk,效果非常好。然而,问题是我正在开发一个不支持 openjdk 的项目。

我也尝试了第二种解决方案(scott 的解决方案,它只是在 ~/.swt/lib/linux/x86_64/ 中创建指向 /usr/lib/jni/... 的符号链接)。Eclipse 启动,一切正常,但仍然缺少一些库;这是我尝试运行我的项目时得到的:

Caused by: java.lang.UnsatisfiedLinkError: /tmp/libgdx/1352105074/libjogl_awt-linux64.so: libjawt.so: cannot open shared object file: No such file or directory

我知道 libjawt.so 在我电脑上的某个地方:

$ locate libjawt.so
/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libjawt.so
/usr/lib/jvm/java-7-oracle/jre/lib/amd64/libjawt.so

但是eclipse或者java好像都认为库应该放在~/.swt/lib/linux/x86_64,是不是很奇怪?

4

3 回答 3

0

尝试下载最新版本的 Eclipse 并运行它。出于某种原因,它工作正常。我刚刚放弃了旧版本的 Eclipse。我希望这对其他人有用!

于 2012-04-29T18:29:33.143 回答
0

据我了解,Eclipse 在启动时默认为其自己的内部 JRE。我推荐以下内容:

  1. 修改您的 CLASSPATH 变量以包含所需库的路径;
  2. 设置您的 JAVA_HOME 以匹配实际的 JAVA_HOME;
  3. 通过使用以下信息自定义 eclipse.ini 来设置 Eclipse 以从所需的 JVM 启动:http ://wiki.eclipse.org/FAQ_How_do_I_run_Eclipse%3F#eclipse.ini
  4. 另外,您可以在启动 Eclipse 时指定 -classpath 选项吗?
于 2012-04-26T01:51:50.140 回答
0

请注意,这里有两个Java 运行时在起作用。一个用于运行 Eclipse 本身,另一个用于运行您的代码。它们不必相同!

我会建议

现在您自己的代码已针对 Oracle Java 进行编译并运行。

于 2016-02-23T13:33:28.697 回答