0

我在通过 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,为什么即使在文件被删除后它仍在该位置查找?

4

1 回答 1

2

You need to change -Djava.library.path to point to system32 instead of C:\libraries.

于 2012-05-22T23:31:47.067 回答