我最近安装了 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,是不是很奇怪?