Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从类路径加载DLL_Java_Java Native Interface - Fatal编程技术网

Java 从类路径加载DLL

Java 从类路径加载DLL,java,java-native-interface,Java,Java Native Interface,我正在尝试从类路径加载Java中的DLL。我在类路径上有一个名为“lib”的文件夹,但它的实际位置未知。DLL位于lib/DLL/(x64 | win32)/library.DLL中。我可以使用此行成功加载DLL,但前提是“lib”文件夹位于当前工作目录中: System.load(new File("lib\\dll\\" + dllFolder + "\\library.dll").getAbsolutePath()); 不幸的是,我们的用例是这样的,文件夹不可能总是在当前的工作目录中。如

我正在尝试从类路径加载Java中的DLL。我在类路径上有一个名为“lib”的文件夹,但它的实际位置未知。DLL位于
lib/DLL/(x64 | win32)/library.DLL
中。我可以使用此行成功加载DLL,但前提是“lib”文件夹位于当前工作目录中:

System.load(new File("lib\\dll\\" + dllFolder + "\\library.dll").getAbsolutePath());

不幸的是,我们的用例是这样的,文件夹不可能总是在当前的工作目录中。如何从类路径加载DLL?

在应用程序启动时将-Djava.library.path=作为参数传递


请注意调用
System.load(java.lang.String)
vs
System.loadLibrary(java.lang.String)

用于检索类路径变量,搜索DLL是否存在于变量中列出的“lib”文件夹中。然后,您应该能够创建一个完整的路径名。

这很有效。也许这不是我们的结局,但这绝对是一个解决方案。谢谢。:)