簡體   English   中英

從類路徑加載DLL

[英]Loading DLL from Classpath

我正在嘗試從Classpath加載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=<path to library root>作為參數傳遞。

在這里看到類似的答案

注意調用System.load(java.lang.String)System.loadLibrary(java.lang.String)之間的區別。

使用System.getenv()檢索CLASSPATH變量,搜索您的DLL是否存在於變量中列出的'lib'文件夾之一中。 然后,您應該可以創建完整的路徑名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM