2010-10-08 110 views
0

System.setProperty("java.library.path", "pathToLibs"); 

不工作,因爲它似乎「java.library.path」是隻讀或JVM只是忽略該屬性。如何在java中編程設置動態庫的加載路徑?

我知道這可以通過設置PATH(在Windows中),LD_LIBRARY_PATH(在POSIX中)或只使用命令java -Djava.library.path = your_path來完成。

但是有沒有這樣做的編程方式?

回答

4

當虛擬機啓動時,會評估java.library.path,因此稍後更改它對加載本機庫沒有任何影響。但是,您可以使用System.load(String filename);來指定要加載的本機庫的完整路徑,可能與System.mapLibraryName(String)一起添加特定於平臺的文件結尾(例如.dll或.so)。