System.loadLibrary()给出java.lang.UnsatisfiedLinkerError:无法加载库

时间:2012-05-22 20:47:40

标签: java dll

我遇到了通过java的System.loadLibrary(“name.dll”)加载一个简单的.dll的问题。 我在C:\ libraries \ name.dll中有一个dll副本以及system32文件夹中的另一个副本。 请注意,C:\ libraries不在我的路径环境变量中。 出于某种原因,当我调用System.loadLibrary(“name.dll”)时,我得到了:

java.lang.UnsatisfiedLinkError: Can't load library: C:\libraries\name.dll
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1706)
    at java.lang.Runtime.load0(Runtime.java:770)
    at java.lang.System.load(System.java:1003)

即使我从C:\ libraries中删除了name.dll,我仍然会收到同样的错误。是否有任何理由说System.load在不在路径中的位置找到.dll,为什么即使在删除文件后它仍然在该位置查找?

1 个答案:

答案 0 :(得分:1)

您需要将-Djava.library.path更改为指向system32而不是C:\ libraries。