Java Jar 在 Linux 上寻找 Windows SWT 库

Java Jar Looking for Windows SWT Library on Linux

一年前,我创建了一个在 Windows 上开发并部署到 Linux 的 Eclipse 项目。我使用了 SWT,并且能够使用适当的 SWT jar 在 运行ning on Linux 上获得它。没问题。

最近,我使用相同的 MO 开始了一个新项目:在 Windows 上开发,部署到 Linux,使用 SWT。我使用了与有效项目相同的项目结构,但它不适用于 Linux。当我尝试 运行 Linux 上的新项目时,我遇到了 UnsatisfiedLinkError:

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

我觉得很奇怪,它似乎在寻找 Windows 版本的 SWT jar,我不明白为什么会这样。我摆弄过项目首选项、构建路径、build.xml、清单等

我确实有一个清单,它应该告诉应用程序它的 SWT 库在哪里(在与应用程序 jar 相同的目录中),但我怀疑我的项目不知道它的存在。对于我一年前制作的工作项目,我记得能够让 Eclipse 在导出时生成一个清单文件,这就是我所做的。对于这个(损坏的)项目,我无法生成清单文件,也无法在导出时从工作区中选择一个清单文件。这一次,我只是自己制作了一个清单文件,遵循命名约定,希望奇迹发生。奇迹并没有发生。

非常感谢帮助、建议、建议等。

在尝试了一个测试项目和导出设置后,我发现我的问题的原因是 JAR 导出屏幕上的一个复选框:“导出生成的 class 文件和资源”。我没有选中此框,这意味着(出于某种原因)Eclipse 不会向我显示生成或 select 清单的选项。选中该框并显示 selected,新项目现在在目标平台上运行。