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

java.lang.UnsatisfiedLinkError:无法在windows中的64位JVM上加载32位SWT库,java,swt,install4j,unsatisfiedlinkerror,Java,Swt,Install4j,Unsatisfiedlinkerror,我正在开发一个windows应用程序 我需要为此创建一个安装程序(32位和64位windows操作系统的通用安装程序),因为我使用的是Install4J软件 我是在Windows32位JDK1.7中开发的 安装程序在32位windows操作系统中运行良好,但当我尝试在win 64位操作系统中创建安装程序时,它向我抛出了一个类似java.lang.UnsatisfiedLinkError的错误:无法在64位JVM上加载32位SWT库 请帮我整理一下这件事 问题在于,32位和64位Windows J

我正在开发一个windows应用程序

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

我是在Windows32位JDK1.7中开发的

安装程序在32位windows操作系统中运行良好,但当我尝试在win 64位操作系统中创建安装程序时,它向我抛出了一个类似java.lang.UnsatisfiedLinkError的错误:无法在64位JVM上加载32位SWT库

请帮我整理一下这件事


问题在于,32位和64位Windows JVM有单独的“swt.jar”文件,它们不能互换。您不能在64位Windows JVM上使用32位Windows JAR。。。或者反过来说。(顺便说一句,根本的障碍在于Windows和JVM,而不是SWT。)

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


这个答案更详细:

这是因为当你将程序安装到只安装32位但会加载32位库的程序文件中时,你可以做一件非常简单的事情,如果你有64位系统,只需将你的程序安装在
程序文件x86中即可。


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

我已经从这个URL下载了64位的swt,但仍然收到与以前相同的错误。你确定要将它放入安装程序吗?