UnsatisfiedLinkError - 本机库 - jnidispatch.dll

UnsatisfiedLinkError - Native Library - jnidispatch.dll

我在使用 waffle 和 tomcat 7 启用通过 windows 身份验证登录时遇到问题。

一切正常,但每次部署应用程序时,我都会收到此错误:

java.lang.UnsatisfiedLinkError: Native Library C:\Program Files    (x86)\Apache Software Foundation\Tomcat 7.0\work\Catalina\localhost\seedInventory\loader\com\sun\jna\win32-x86\jnidispatch.dll already loaded in another classloader

当我重新启动 tomcat 时,它又开始工作了。但是,我想成为 无需重新启动即可部署应用程序。

我看到这个文件 jnidispatch.dll 即使在取消部署后仍在使用,我无法手动删除它。

我能做什么?

查看 Apache Tomcat HowTo 部分关于在 Tomcat 下使用 JNI 时的类加载器问题。它说:

The important thing to know about using JNI under Tomcat is that one cannot place the native libraries OR their JNI interfaces under the WEB-INF/lib or WEB-INF/classes directories of a web application and expect to be able to reload the webapp without restarting the server.

所以,您的某些库似乎包含原生 jnidispatch.dll 库,您应该将其移出 jar 或 war 到 Tomcat 的 lib 文件夹中,以便可以重新部署您的应用程序。