我的应用程序抛出以下异常。
线程“主”java.lang.UnsatisfiedLinkError 中的异常:无法在 64 位 JVM 上加载 32 位 SW T 库。
如何解决这个问题?需要的jar文件名是什么?
在 64 位 JVM 上,您需要 64 位 SWT。当前版本可以在这里下载:
http://archive.eclipse.org/eclipse/downloads/drops/R-3.6.1-201009090800/index.php#SWT
注意前两个下载,第一个用于 x32,另一个用于 x64。
注意:即使在 64 位 Windows 上,如果您使用 32 位 JVM,您仍然需要 32 位 SWT 版本!
几周前我遇到了同样的问题。我们开发了一个必须使用 32 位 SWT 的 RCP 应用程序,但我们在 64 位机器上工作。
我们必须做的是更改 Eclipse 的配置,使其指向 32 位 JVM。我们是在 Window -> Preferences -> Java -> Installed JRE's 上完成的。在此首选项页面上,我们将所有引用从“ Program Files ”更改为“ Program Files (x86) ”。
我希望它能以某种方式帮助你。
有关 SWT 库下载的最新链接: SWT 项目页面
我的答案是对上面发布的答案的编译更少,尤其是提供(我认为)最佳答案的用户@ClickUpvote 的评论。所以在这里,我在发布之前对其进行了测试:
如果您的应用程序抛出以下异常(在 Windows 7 64 位,使用 JVM 64)
线程“主”java.lang.UnsatisfiedLinkError 中的异常:无法在 64 位 JVM 上加载 32 位 SW T 库。
然后解决方案如下:在 64 位 JVM 上,您需要 64 位 SWT。
当前版本可以如下所述下载 - 隐藏得很好:
访问:http: //www.eclipse.org/swt/
向下滚动到发布
点击更多:
稳定的
Windows、Linux、OS X等...
Windows (x86_64)(支持的版本)(http) 6.3 MB swt-4.4-win32-win32-x86_64.zip
这正是您需要的版本。
您只是针对错误版本的 SWT 构建。下载 64 位 Eclipse 或获取 delta 包并针对正确的目标环境进行构建。
这些链接对于 64 位版本的下载都有些过时了。试试这个:http: //jarfiles.pandaidea.com/swt.html,在谷歌搜索一小时后找到。