tomcat7 windowsOS 的 UnsatisfiedLinkError

UnsatisfiedLinkError for tomcat7 windowsOS

我的网络应用出现以下错误。

java.lang.UnsatisfiedLinkError: Can't obtain updateLastError method for class com.sun.jna.Native
com.sun.jna.Native.initIDs(Native Method)
com.sun.jna.Native.<clinit>(Native.java:139)
com.sun.jna.Pointer.<clinit>(Pointer.java:41)
com.sun.jna.platform.win32.WinNT$HANDLEByReference.<init>(WinNT.java:1114)
com.sun.jna.platform.win32.WinNT$HANDLEByReference.<init>(WinNT.java:1110)
waffle.windows.auth.impl.WindowsAuthProviderImpl.logonDomainUserEx(WindowsAuthProviderImpl.java:193)
waffle.windows.auth.impl.WindowsAuthProviderImpl.logonDomainUser(WindowsAuthProviderImpl.java:181)
waffle.windows.auth.impl.WindowsAuthProviderImpl.logonUser(WindowsAuthProviderImpl.java:212)
waffle.apache.MixedAuthenticator.post(MixedAuthenticator.java:233)
waffle.apache.MixedAuthenticator.authenticate(MixedAuthenticator.java:112)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:577)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)

我搜索过这可能是由于 jna 的某些旧版本访问导致的,但是删除 jna 会给我 com.sun.jna.Pointer 的 NoClassDefErrors。也试过 -Djna.nosys=true 但它也没有解决问题。

我也试过了-Djava.library.path= 来自 What is the cause of an UnsatisfiedLinkError? 但它也不起作用..

非常感谢任何建议。

没有足够的代表来发表评论,但这与我几年前提出的一个问题有点相似 UnsatisfiedLinkError, despite setting Djava.library.path variable
有人建议确保我使用的是正确的架构类型,即使用 64 位 jdk 和 64 位 Tomcat & 32 和 32。匹配吗?

我通过从我的机器上删除一个旧的 jnidispatch.dll 文件解决了这个问题。 我在 Windows 7 上使用 Gradle 和 Tomcat。 删除 C:\Users\<username>\.gradle\native\jna\win32-amd64

中的 jnidispatch.dll 文件