JNA - 设置资源路径

时间:2014-07-31 15:56:04

标签: java dll jna

我正在尝试将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

非常感谢任何帮助

由于 达明

1 个答案:

答案 0 :(得分:7)

JNA查找系统属性jna.library.path指定的位置,然后返回java.library.path中的任何路径(其中大部分基于PATH来自环境)。< / p>

您应该确保eclipse将DLL复制到应用程序最终期望找到它的位置,并确保eclipse在启动JVM时正确地将jna.library.path设置到该位置。

另请注意,任何依赖库必须位于PATH上或与目标DLL位于同一目录中。

有关JNA可以加载本机库的其他变体,请参阅JavaDoc for NativeLibrary