我尝试从以下代码加载本机库:
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
为什么我的图书馆没有加载?
答案 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。
如果您仍然收到错误,那么该库似乎有问题并且无法加载。