读书人

dll already loaded in another class

发布时间: 2012-10-31 14:37:32 作者: rapoo

dll already loaded in another classloader 错误解决

遇到此问题,从网上找了下答案,记录之

?

是由于web重启时再次加载dll导致,JVM只允许一个默认的ClassLoader来load native library,并不提供专门的API来unload一个loaded native library,因此无法在我们的重启Web应用的代码中来手工清除已经load的dll,也没有相应的unload native 方法.

?

解决办法:

将含有JNI调用的jar包部署在Web服务器的公用lib库中。Web应用再发布时可以不用加载;

??????????? ?? (比如: 你新建一个应用时,首先将含有System.loadLibrary(*.dll)的java文件导出成jar文件,将其放入的

tomcat/lib 目录下,然后将发布后生成的含有System.loadLibrary的.class文件删除掉就可以了)

读书人网 >其他相关

热点推荐