我们有一个GWT web应用程序,它使用JNI调用dll。我们还构建了dll。它在我的开发人员机器上运行得很好,这是一台64位的Windows7机器,运行Java6并在Tomcat6中运行we应用程序。
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位版本的java6,因为我希望构建能够在32位机器上工作,但显然我误解了32位或64位版本的Java在编译web应用程序时是如何工作的。
是的,我们调用的dll是内置在.war中的,因为它可以在我的机器上运行。
我也用谷歌搜索了jniwrap64.dll,但没有找到太多相关的东西。
补充说明: jniwrap64.dll不是我构建的dll,并且我的代码没有显式加载这个库。这是我困惑的一部分,是这个库是什么,为什么要加载它,等等。我假设jniwrap64.dll是某种需要安装的系统库。我加载我们的库的代码如下:
Library myLib = Library(path);
myLib.load(this.getClass().getClassLoader());发布于 2010-12-15 01:42:48
当你用System.loadLibrary()加载dll时,你加载的是"jniwrap64.dll“还是"jniwrap32.dll”?你能给我们看一下加载这个库的代码行吗?
https://stackoverflow.com/questions/4442114
复制相似问题