java.lang.UnsatisfiedLinkError:无法在Windows中的64位JVM上加载32位SWT库

时间:2014-03-05 09:01:14

标签: java swt install4j unsatisfiedlinkerror

我正在开发一个Windows应用程序。

我需要为此创建一个安装程序(32位和64位Windows操作系统的通用安装程序),因为我使用的是Install4J软件。

我在Windows 32位,jdk 1.7开发。

安装程序在32位Windows操作系统中工作正常,但是当我尝试在win 64位操作系统中创建安装程序时,它会给我一个错误,如java.lang.UnsatisfiedLinkError:无法在64位JVM上加载32位SWT库

请帮助解决这个问题..

enter image description here

2 个答案:

答案 0 :(得分:2)

问题是32位和64位Windows JVM有单独的“swt.jar”文件,它们不可互换。您不能在64位Windows JVM上使用32位Windows JAR ......或者相反。 (AFAIK,基本障碍在于Windows和JVM而不是SWT。)

一种可能性是做一些类加载器技巧,并根据应用程序在运行时检测到的平台动态选择不同的JAR。安装程序需要使用不同名称的SWT JAR两种风格。

这个答案更详细:Supporting SWT on Windows/Mac & 32bit/64bit

答案 1 :(得分:0)

那么这只是因为当你将程序文件安装到只安装32的程序文件中时会加载32位库,所以你可以做一件非常简单的解决方案,只需在{{ 1}}

对我有用,也可能对你有用。