java 调用 dll 文件
UnsatisfiedLinkError用java在调用dll文件时出现如下异常:
Exception in thread "Thread-7"
java.lang.UnsatisfiedLinkError: C:\WINDOWS\system
32\VoiceKit.dll: 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能
会纠正这个问题。
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at alarm.VoiceKit.<clinit>(VoiceKit.java:12)
at sysmonitor.SystemMonitorFrame$11.run(SystemMonitorFrame.java:875)
Exception in thread "Thread-8"
java.lang.NoClassDefFoundError: Could not initial
ize class alarm.VoiceKit
at sysmonitor.SystemMonitorFrame$11.run(SystemMonitorFrame.java:875)
Exception in thread "Thread-9" java.lang.
NoClassDefFoundError: Could not initial
ize class alarm.VoiceKit
at sysmonitor.SystemMonitorFrame$11.run(SystemMonitorFrame.java:875)
但是在原来的电脑上运行该程序时一直是没有问题的,现在在一台服务器上装了一个Windows,就出现了如下现象。非常确定的一点是在System32下面是存在这个dll文件的,而且如果故意把dll文件去掉,抛出来的异常是找不到该dll文件,而不是现在这样,请高手指点,跪谢!~
------解决方案--------------------
JNI?
------解决方案--------------------
你新装的windows是啥版本的?
可能是System.load权限的问题
或者编译器版本问题
------解决方案--------------------
什么方式啊 jni jna?
------解决方案--------------------
WINDOWS版本是否一致?
------解决方案--------------------
这个问题是DLL文件内抛出来的,跟你的程序应该没多大关系的