2

我有一个 java webstart 程序,它在 xp、osx、vista 和 windows 7 上运行。我只是试图在 windows 7 64 位上运行它,但它在加载库时遇到问题。在这台 win7x64 机器上,我有 64 位 jdk/jre,它没有加载的库是 swt-win32.dll。是的,它是 32 位的,但我得到:

Exception in thread "Thread-10" java.lang.UnsatisfiedLinkError: no swt-win32-3325 or swt-win32 in swt.library.path, java.libary.path or the jar file...

我尝试将 dll 放在 java.library.path 上(将其物理复制到文件夹中),但仍然得到完全相同的错误。那么我收到这个错误是因为它是一个 32 位 dll 还是因为它实际上找不到它?64 位 jdk/jre 可以加载/使用 32 位 dll,还是我需要找到 64 位版本的 dll 或运行 32 位 jdk/jre?

4

2 回答 2

3

你已经有了答案。64 位 DLL 需要 64 位 JDK,32 位 DLL 需要 32 位 JDK。

于 2009-11-20T19:23:54.490 回答
0

swt-win32.dll 实际上是一个 SWT UI 框架(eclipse) dll。尝试将其放在系统路径中的目录中。

如果这不起作用,那么您的下一个最佳选择是在此处获取 64 位 Windows 的 SWT 二进制文件。我认为它适用于 Windows Vista 64。没有提到 Windows 7,但它“应该”工作。

于 2009-11-20T19:47:10.797 回答