代码错误中的Java Native链接

时间:2015-06-11 11:00:22

标签: java

我尝试从以下代码加载本机库:

StringBuilder builder = new StringBuilder(System.getenv("ProgramFiles"));
builder.append("\\MyLib\\custom_library.dll");
System.load(builder.toString().replace("\\", "/"));

.load方法似乎有效。但是当我尝试从指定的custom_library.dll访问任何内容时,它无法说:

  

java.lang.UnsatisfiedLinkError:java.library.path中没有custom_library

为什么我的图书馆没有加载?

1 个答案:

答案 0 :(得分:2)

java.library.path

中的文件不存在时会发生这种情况
  

当Java应用程序使用System.loadLibrary()方法加载本机库时,将扫描java.library.path以查找指定的库。如果JVM无法检测到请求的库,则会抛出UnsatisfiedLinkError。

您需要先检查C:\Program Files\MyLib中是否存在java.library.path目录:

System.out.println(System.getProperty("java.library.path"));

如果不存在,则需要对其进行配置,请参阅here

如果您仍然收到错误,那么该库似乎有问题并且无法加载。