解决HSDB中UnsatisfiedLinkError异常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决HSDB中UnsatisfiedLinkError异常相关的知识,希望对你有一定的参考价值。

 在使用HSDB的时候,报了一个错,

Exception in thread "Thread-1" java.lang.UnsatisfiedLinkError:
 Can‘t load library: E:\Program Files\Java\jre\bin\sawindbg.dll
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.load0(Unknown Source)
        at java.lang.System.load(Unknown Source)
        at sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal.<clinit>(WindbgDebuggerLocal.java:661)
        at sun.jvm.hotspot.HotSpotAgent.setupDebuggerWin32(HotSpotAgent.java:567)
        at sun.jvm.hotspot.HotSpotAgent.setupDebugger(HotSpotAgent.java:335)
        at sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:304)
        at sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:140)
        at sun.jvm.hotspot.HSDB.attach(HSDB.java:1184)
        at sun.jvm.hotspot.HSDB.access$1700(HSDB.java:53)
        at sun.jvm.hotspot.HSDB$25$1.run(HSDB.java:456)
        at sun.jvm.hotspot.utilities.WorkerThread$MainLoop.run(WorkerThread.java:66)
        at java.lang.Thread.run(Unknown Source)

把自己E:\Program Files\Java\jre\bin目录下sawindbg.dll 粘贴到E:\Program Files\Java\jdk1.8.0_111\jre\bin 下既好。

为什么会报Unknown Source???可能因为跨线程了,导致捕获不了线程的错误信息。

我们来看一看jdk对UnsatisfiedLinkError的定义:

Thrown if the Java Virtual Machine cannot find an appropriate
native-language definition of a method declared native.
因为JVM找不到本地语言定义的方法所以报这个错。

经常看到Exception的错误,终于见到了一次Error的错误!!!

本文出自 “我的博客” 博客,请务必保留此出处http://thinklili.blog.51cto.com/10867130/1970564

以上是关于解决HSDB中UnsatisfiedLinkError异常的主要内容,如果未能解决你的问题,请参考以下文章

第一次使用HSDB

hsdb

初次尝试java虚拟机调试-启动HSDB

初次尝试java虚拟机调试-启动HSDB

HSDB - HotSpot debugger

HSDB