0

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

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

不幸的是,我们的用例是不可能将文件夹始终放在当前工作目录中。如何从 Classpath 加载 DLL?

4

2 回答 2

0

-Djava.library.path=<path to library root>当您的应用程序启动时作为参数传递。

在此处查看 类似的答案

请注意 callSystem.load(java.lang.String)System.loadLibrary(java.lang.String).

于 2013-10-11T15:31:23.673 回答
0

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

于 2013-10-11T15:40:07.073 回答