我的电脑是win7 64位,jdk是1.7.0.21,jvm是1.6 ..和64位 我想 运行SWT应用程序并导出为runnable jar文件 。当我运行应用程序时,它有一个例外,即无法在64位JVM上加载32位SWT库,所以我将SDK作为备用jre导入,就像你指向 Cannot load 64-bit SWT libraries on 32-bit JVM ( replacing SWT file ) 一样,在Eclipse中,应用程序可以正常运行,但是当我编辑bat文件以运行jar文件时,它总是遇到像64位JVM上无法加载32位SWT库的问题,我有64个swt.jar有点,但我不知道如何更换,我想用SDK中的信息编辑bat文件。如何处理这个问题?
答案 0 :(得分:2)
您有一个64位JVM,因此它不会运行32位SWT库。你需要:
此前的SO问题对第一个选项及附图有很好的描述:
Cannot load 64-bit SWT libraries on 32-bit JVM ( replacing SWT file )
答案 1 :(得分:0)
64位JVM? 你应该使用64位swt
答案 2 :(得分:0)
除了对应于操作系统的适当的swt lib及其位数外,有时还要考虑以下内容:
我的环境:
32位Ubuntu
32位JVM / JRE
Eclipse使用32位JRE运行
32位Gtk SWT
方法1: 当我用64位swt替换32位swt以在其他平台上进行测试时,我遇到了问题。要解决这个问题,我必须删除/清理项目并使用64位swt重建项目。但这一步在逻辑上没有意义,仍然有效。
方法2: 每个操作系统的所有swt库都有相同的名称 - " swt.jar"居住在不同的文件夹中。我在测试时只改为适当的lib,即32位和64位o / s都有swt.jar。现在这在某种程度上造成了一些问题。尚无法识别。但是,在将每个swt lib文件的名称更改为不同的名称时,它已得到解决。这一步也没有多大意义。
方法3: 我正在使用geotools api版本10.5,它还包含bin文件夹中的swt库。我不得不从文件夹中删除它(移动到备用位置),现在我的应用程序运行顺畅!!
答案 3 :(得分:0)
我有类似的问题。在我的64位机器上安装32位jvm解决了这个问题。
答案 4 :(得分:0)
我很难与SWT合作。这需要安装每个SO(Linux,Windows | 32,64),Swing没有这个问题而且很酷,但我更喜欢SWT / JFace。
为了解决这个问题,我创建了一个Ant脚本来为每个安装压缩其正确的swt jar。
我得到了特定的swt罐子: