java.lang.UnsatifiedLinkError:Can';t在IA 32位平台上加载AMD 64位.dll

java.lang.UnsatifiedLinkError:Can';t在IA 32位平台上加载AMD 64位.dll,java,netbeans,java-native-interface,unsatisfiedlinkerror,Java,Netbeans,Java Native Interface,Unsatisfiedlinkerror,遇到以下java.lang.UnsatisfiedLinkError:尝试在netbeans ide中运行java文件时,无法在IA 32位平台上加载AMD 64位.dll。不确定从何处开始调试和修复代码 源代码如下: package demojni; public class Main { static { System.load("C:\\Users\\Nicholas1\\Documents\\NetBeansProjects\\DemoJNI_Lib\\dist\\De

遇到以下java.lang.UnsatisfiedLinkError:尝试在netbeans ide中运行java文件时,无法在IA 32位平台上加载AMD 64位.dll。不确定从何处开始调试和修复代码

源代码如下:

package demojni;
public class Main {
   static {
      System.load("C:\\Users\\Nicholas1\\Documents\\NetBeansProjects\\DemoJNI_Lib\\dist\\DemoJNI_Lib.dll"); // Load native library at runtime
                                   // hello.dll (Windows) or libhello.so (Unixes)
   }

   // Declare a native method sayHello() that receives nothing and returns void


   // Test Driver
   public static void main(String[] args) {
      new Main().sayHelloWorld();  // invoke the native method
   }
   private native void sayHelloWorld();
}

Dll是为64位(amd64或x86_64)平台/cpu体系结构编译的,而您的windows OS/JVM/JRE安装是32位的


获取32位版本的dll或升级您的工作环境(OS或JVM/JRE安装)解决了架构错误

Lamans对错误的解释:操作系统是64位的,我有64位编译的.dll库和32位JDK1.6

解决方案:我将JAVA_HOME变量从(JDK 1.6 32位)更新为(JDK 1.8 64位)

  • 将Java/JRE/JDK更改为64位环境
  • 将Java/JRE/JDK环境升级为JDK1.8
  • 从“Netbeans 6.9.1”升级到“Netbeans 8.2”
  • 将Netbeans“defaultJDK”从“JDK1.6”升级到了JDK1.8

注意:可以在IDE访问工具->Java平台->平台或使用链接“”中找到Netbeans JDK版本更改netbeans的默认JDK。

在我的情况下,我只是保证Tomcat的位与JDK的位相同。我认为这个错误对eclipse等编码工具和操作系统的位没有关系。

太好了,谢谢你及时的回复。我的操作系统是Windows 8 64位,我如何检查JRE的版本。另外,JRE是32-那么如何将JRE升级到64位呢?我在命令提示符下运行java-version,它返回的是版本而不是xx位;java版本“1.8.0_121”java(TM)SE运行时环境(build 1.8.0_121-b13)java热点(TM)客户端VM(build 25.121-b13,混合模式,共享)返回“32”.现在怎么办?我是否只升级我机器上的JRE,如果是,如何升级?删除JRE安装并确保从这里下载x64版本-。完成后请接受我的回答:)里面有什么?`C:\Users\Nicholas1\Documents\NetBeansProjects\DemoJNI\hs\u err\u pid34736.log`?。你能编译你的应用程序/代码并单独运行吗?线程信息,非常类似于此链接。有人说这是一个JRE错误。当我将Netbeans-6.9.2IDE默认JDK更改为JDK1.7时,我没有得到相同的运行时项目错误。但是当我将Netbeans-6.9.2 IDE默认JDK更改为JDK jdk1.8.0时,Netbeans在重启时崩溃。我使用此链接更改Netbeans的默认JDK:以下是指向我的错误的链接:现在我能够编译并运行项目的clean/builds,但没有成功运行。另外,我的其他java项目也运行良好。