Java 从类路径加载DLL
我正在尝试从类路径加载Java中的DLL。我在类路径上有一个名为“lib”的文件夹,但它的实际位置未知。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()); 不幸的是,我们的用例是这样的,文件夹不可能总是在当前的工作目录中。如
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)
vsSystem.loadLibrary(java.lang.String)
用于检索类路径变量,搜索DLL是否存在于变量中列出的“lib”文件夹中。然后,您应该能够创建一个完整的路径名。这很有效。也许这不是我们的结局,但这绝对是一个解决方案。谢谢。:)