我最近安装了 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/... 的符号链接(symbolic link))。 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中,这不是很奇怪吗?
最佳答案
据我了解,Eclipse 在启动时默认使用其自己的内部 JRE。我推荐以下内容:
- 修改您的 CLASSPATH 变量以包含所需库的路径;
- 设置您的 JAVA_HOME 以匹配实际的 JAVA_HOME;
- 使用以下信息自定义 eclipse.ini,将 Eclipse 设置为从所需的 JVM 启动:http://wiki.eclipse.org/FAQ_How_do_I_run_Eclipse%3F#eclipse.ini
- 另外,您可以在启动 Eclipse 时指定 -classpath 选项吗?
关于java - ubuntu 12.04 上的 eclipse 中缺少 oracle-java7-jdk 的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10326080/