我的应用程序抛出以下异常。
在主线程中发生异常:java.lang.UnsatisfiedLinkError: 无法在64位JVM上加载32位SWT库。
如何解决这个问题?需要哪个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)”。
希望能在某种程度上帮到你。
我的答案基本上是以上发布的答案的编译,特别是用户@ClickUpvote的评论,他提供了(在我看来)最好的答案。所以这是它,我在发布之前测试了它:
如果您的应用程序引发以下异常(在Windows 7 64位,带JVM 64),
Exception in thread "main" java.lang.UnsatisfiedLinkError: Cannot load 32-bit SWT libraries on 64-bit JVM.
那么解决方案如下:在64位JVM中,需要64位SWT。
可以按照以下描述下载当前版本 - 非常隐蔽:
向下滚动到Releases
点击“more”:
稳定版
Windows、Linux、OS X、更多...
Windows(x86_64)(支持的版本)(http)6.3 MB swt-4.4-win32-win32-x86_64.zip
这正是您需要的版本。
你只是在错误的SWT版本上构建。要么下载64位Eclipse,要么获取增量包并针对正确的目标环境构建。
这些链接中的64位版本下载链接都有点过时了。尝试使用这个链接:http://jarfiles.pandaidea.com/swt.html,在谷歌上搜索了一个小时后找到的。