我提供了Linux SWT jar并在Eclipse中打包我的应用程序,将swt.jar包含在我的app的jar中。当我尝试在Ubuntu上运行它时,我收到以下错误文本(仅发布原因):
引起:java.lang.UnsatisfiedLinkError:无法加载SWT库。原因:
java.library.path中没有swt-pi-gtk-4234
java.library.path中没有swt-pi-gtk
/home/nifty/.swt/lib/linux/x86/libswt-pi-gtk-4234.so:libgtk-x11-2.0.so.0:无法打开共享对象文件:没有这样的文件或目录
无法加载库:/home/nifty/.swt/lib/linux/x86/libswt-pi-gtk.so
这表明它无法加载GTK文件,但除此之外的任何东西,我都不知所措。我只是用Ubuntu测试我的应用程序,所以我知道的很少。
答案 0 :(得分:9)
在我的64位Debian Wheezy /测试中,我通过
解决了它apt-get install ia32-libs-gtk
(http://www.eclipse.org/forums/index.php/t/262868/)。如果您的系统不是64位系统,则此建议不适用。
答案 1 :(得分:9)
以下是我在Ubuntu 13.10 x86_64上修复丢失的lib的方法:
java.lang.UnsatisfiedLinkError:无法加载SWT库。原因: /home/ywu/.eclipse/473605238/configuration/org.eclipse.osgi/bundles/361/1/.cp/libswt-pi-gtk-4236.so:libgtk-x11-2.0.so.0:无法打开共享目标文件:没有这样的文件或目录
ywu@ywu-HP-8100:~$ aptitude search libgtk2.0-0
i libgtk2.0-0 - GTK+ graphical user interface library
p libgtk2.0-0:i386 - GTK+ graphical user interface library
ywu@ywu-HP-8100:~$ sudo apt-get install libgtk2.0-0:i386
答案 2 :(得分:1)
在最新的Ubuntu(18.10)中,安装libswt-gtk-3-java
对其进行了修复。
为此,请从终端输入以下命令:
sudo apt install libswt-gtk-3-java
对于最新版本,我建议以下链接: https://packages.ubuntu.com/search?keywords=swt-gtk
答案 3 :(得分:0)
对于更新的版本,如果它说找不到libgtk-3.so.0
,则apt-get install
所需的明显包是libgtk-3-0。然而,在Ubuntu Zesty(17.04)似乎没有这样的软件包,所以我需要切换到Xenial(16.04)。狡猾的,后来也应该工作。
此外,graphical Eclipse Installer在没有此功能的情况下无法工作。