无法加载 SWT 库“UnsatisfiedLinkError: no swt-gtk-4233”

4 eclipse java

我是一个 Java 新手,他只是通过 eclipse Juno 使用 SWT for GUI 制作了一个简单的 Java 程序。代码运行正常,程序能够在 eclipse 中运行,所以我编译了它并使它成为一个可运行的 jar 文件,以便它可以在 eclipse 外部运行。我尝试使用终端运行它,但出现了此错误。

Exception in thread "main" java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons: 
no swt-gtk-4233 in java.library.path
no swt-gtk in java.library.path
Can't load library: /home/abody/.swt/lib/linux/x86_64/libswt-gtk-4233.so
Can't load library: /home/abody/.swt/lib/linux/x86_64/libswt-gtk.so

at org.eclipse.swt.internal.Library.loadLibrary(Library.java:331)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:240)
at org.eclipse.swt.internal.C.<clinit>(C.java:21)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:63)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:54)
at org.eclipse.swt.widgets.Display.<clinit>(Display.java:133)
at Class1.main(Class1.java:12)
Run Code Online (Sandbox Code Playgroud)

所以现在看起来它找不到libswt-gtk-4233.so其他文件。但是,当我查看.swt文件夹时,我有一个libswt-gtk-3740.sonot 4233

所以它试图找到一个更新的文件。那么这意味着什么,我应该更新 SWT 吗?这是怎么回事?

小智 5

您需要创建指向目录中的 swt so 文件的符号链接/usr/lib/jni。我在这个站点上找到了一个解决方案:Eclipse 无法加载 SWT 库

使用这个命令:

ln -s /usr/lib/jni/libswt-* ~/.swt/lib/linux/x86_64/
Run Code Online (Sandbox Code Playgroud)