什么导致jniwrap64.dll的UnsatisfiedLinkError?

时间:2010-12-14 17:25:37

标签: java java-native-interface

我们有一个使用JNI调用dll的GWT Web应用程序。我们也构建了dll。它在我的开发人员计算机上工作正常,这是一台64位Windows 7计算机,运行Java 6并在Tomcat 6中运行webapps。但是当我们在运行32位WinXP的测试人员的VM上运行它时,它会出错< / p>

java.lang.UnsatisfiedLinkError: Cannot load native JNIWrapper library (jniwrap64.dll)
at com.jniwrapper.Library.loadNativeCode(SourceFile:78)
at com.jniwrapper.Library.loadNativeCode(SourceFile:103)
at com.jniwrapper.Library.ensureNativeCode(SourceFile:113)
at com.jniwrapper.Library.load(SourceFile:189)

我的JRE_HOME设置为32位版本的Java 6,因为我希望构建能够在32位计算机上运行,​​但很明显我错误地理解了32或64-位版本的java在编译Web应用程序时起作用。

是的,我们调用的dll内置于.war中,因为它可以在我的机器上运行。

我还搜索了jniwrap64.dll,但没有找到相关的内容。

添加说明:jniwrap64.dll不是我构建的dll,我的代码没有显式加载这个库。这是我的困惑的一部分,这是什么是这个库,为什么它被加载,等等。我假设jniwrap64.dll是某种需要安装的系统库。我加载库的代码如下:

Library myLib = Library(path);
myLib.load(this.getClass().getClassLoader());

1 个答案:

答案 0 :(得分:0)

使用System.loadLibrary()加载dll时,是否加载“jniwrap64.dll”或“jniwrap32.dll”?你能告诉我们加载这个库的代码行吗?