我正在尝试运行基于 Eclipse 的应用程序,但由于尝试访问
libswt-pi4.so
、libswt-pi4-gtk.so
和 libswt-pi4-gtk-4944r26.so
时出现错误而无法运行。顺便说一句,由于保密协议,我不会详细介绍该应用程序,但我相信这不应该成为问题,因为该问题似乎源于 Eclipse 基础。我使用的是 Linux Mint 21.2。
错误(稍作编辑)如下:
!SESSION 2023-08-17 18:27:08.326 -----------------------------------------------
eclipse.buildId=unknown
java.version=11.0.15
java.vendor=Eclipse Adoptium
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Command-line arguments: -os linux -ws gtk -arch x86_64
!ENTRY org.eclipse.osgi 4 0 2023-08-17 18:27:10.417
!MESSAGE Application error
!STACK 1
java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:
no swt-pi4-gtk-4944r26 in java.library.path: [<REDACTED>, ., /usr/java/packages/lib, /usr/lib64, /lib64, /lib, /usr/lib]
no swt-pi4-gtk in java.library.path: [<REDACTED>, ., /usr/java/packages/lib, /usr/lib64, /lib64, /lib, /usr/lib]
no swt-pi4 in java.library.path: [<REDACTED>, ., /usr/java/packages/lib, /usr/lib64, /lib64, /lib, /usr/lib]
Can't load library: /home/alexandre/.swt/lib/linux/x86_64/libswt-pi4-gtk-4944r26.so
Can't load library: /home/alexandre/.swt/lib/linux/x86_64/libswt-pi4-gtk.so
Can't load library: /home/alexandre/.swt/lib/linux/x86_64/libswt-pi4.so
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:348)
at org.eclipse.swt.internal.Library.loadLibrary(Library.java:257)
at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:96)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:209)
at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:155)
at org.eclipse.swt.widgets.Display.<clinit>(Display.java:165)
at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:726)
at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:168)
at org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApplication.java:182)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:125)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:654)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:591)
at org.eclipse.equinox.launcher.Main.run(Main.java:1462)
at org.eclipse.equinox.launcher.Main.main(Main.java:1435)
浏览类似问题,我发现帖子建议我安装
libswt-gtk-4-java
和 libswt-gtk-4-java
,我已经安装了。这并没有解决问题。之后,另一篇文章建议创建从/usr/lib/jni/libswt-*
到~/.swt/lib/linux/x86_64/
的链接(这确实是错误声称文件不存在的地方),但快速查看原始文件夹会发现所需的库也不存在:
alexandre:/usr/lib/jni$ l
libswt-atk-gtk-4944r26.so libswt-awt-gtk-4944r26.so libswt-gtk-4944r26.so libswt-pi3-gtk-4944r26.so
~/.swt/lib/linux/x86_64/
默认只有一个文件,即libswt-pi3-gtk-4944r26.so
。
有关于我可能丢失了哪些包裹的线索吗?谢谢您的宝贵时间。
对我来说,它有助于安装 libgtk-3-0(在 Debian 12 上)。