线程“main”中的异常java.lang.UnsatisfiedLinkError:无法加载SWT库

时间:2010-06-06 02:24:43

标签: java eclipse ubuntu

我遇到以下错误的原因是什么:

  

线程“main”中的异常java.lang.UnsatisfiedLinkError:无法加载SWT库。

我在Ubuntu 9.04 Jaunty上使用Eclipse 3.5 SE。

如何解决此错误?

7 个答案:

答案 0 :(得分:17)

我在32位系统上遇到了与Oracle Java 7和Eclipse相同的问题。

已安装

libswt-gtk-3.6-javalibswt-gtk-3.6-jniWhat helped

cd ~/.swt/lib/linux/x86
ln -s /usr/lib/jni/* .

也许这可以重新配置Java备选方案或什么。

答案 1 :(得分:3)

我相信Mikolaj Lechtanski's workaround更优雅。

  

创建或编辑/etc/eclipse.ini

     

粘贴在里面:

-vmargs
-Djava.library.path=/usr/lib/jni
     

出口

     

确保文件可读:

sudo chmod 755 /etc/eclipse.ini

答案 2 :(得分:2)

这意味着无法找到本地库 您有32位库,而您在64位计算机上运行,​​反之亦然 还要确保正确设置-Djava.library.path=

See this page on how to run outside of eclipse

答案 3 :(得分:2)

您使用的是什么版本的Java和Eclipse,它们是32位还是64位,您是如何安装它们的?

Eclipse使用自己的名为SWT的GUI库(它不使用Java的AWT或Swing),它需要一些本机(非Java)库。如果安装了32位Java,则需要32位Eclipse;如果您安装了64位Java,则需要64位Eclipse(注意,Eclipse downloads页面具有适用于Linux的32位和64位版本。)

(请注意,它不取决于您的Linux操作系统是32位还是64位,而是取决于您的Java是否存在)。

答案 4 :(得分:1)

当通过“ssh -X”隧道在服务器上远程运行Eclipse时,我遇到了类似的问题。我在服务器上使用“sudo apt-get install libswt-gtk-3.6-java”解决了这个问题。

答案 5 :(得分:0)

在使用X11转发的无头服务器上启动一些GUI java应用程序时发生了这种情况,但只安装了openjdk-7-jre-headless。安装完整的jre解决了这个问题:

apt-get install openjdk-7-jre

答案 6 :(得分:0)

我最终做了

 cd ~/.swt/lib/macosx/x86_64
 ln -s /usr/lib/java/* .

解决了这个问题。