我正在尝试将JNA设置为与自定义DLL进行通信但无效
它一直在说它正在查找lcoation / target / classes /
中的资源路径我想知道是否可以添加一个可以获取我的DLL的资源位置?
我的代码如下
System.setProperty("jna.debug_load", "true");
System.setProperty("jna.debug_load.jna", "true");
System.setProperty("jna.platform.library.path", "C:\\Development\\dll\\");
Native.loadLibrary("customDLL", CustomDLL.class);
如果我手动将dll添加到文件夹/ target / classes /,则DLL按预期加载
我正在使用Eclipse Luna 32bit JDK 1.7.0_65 32位 JNA 4.1.0
非常感谢任何帮助
由于 达明
答案 0 :(得分:7)
JNA查找系统属性jna.library.path
指定的位置,然后返回java.library.path
中的任何路径(其中大部分基于PATH
来自环境)。< / p>
您应该确保eclipse将DLL复制到应用程序最终期望找到它的位置,并确保eclipse在启动JVM时正确地将jna.library.path
设置到该位置。
另请注意,任何依赖库必须位于PATH
上或与目标DLL位于同一目录中。
有关JNA可以加载本机库的其他变体,请参阅JavaDoc for NativeLibrary。