当前位置: 代码迷 >> J2ME >> Exception in thread "Thread-7" java.lang.UnsatisfiedLinkError:
  详细解决方案

Exception in thread "Thread-7" java.lang.UnsatisfiedLinkError:

热度:9458   发布时间:2013-02-25 21:38:30.0
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文件内抛出来的,跟你的程序应该没多大关系的
  相关解决方案