UnsatisfiedLinkError - 本机库 - jnidispatch.dll

时间:2015-10-16 13:47:54

标签: java tomcat dll java-native-interface waffle

使用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即使在取消部署后仍在使用,我无法手动删除它。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

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

  

了解在Tomcat下使用JNI的重要一点是,不能将本机库或其JNI接口放在Web应用程序的WEB-INF / lib或WEB-INF / classes目录下,并希望能够重新加载没有重新启动服务器的webapp。

所以,似乎你的某些库包含一个本机jnidispatch.dll库,你应该将它从jar或war移到Tomcat的lib文件夹中,以便重新部署你的应用程序。