2015-04-30 100 views
3

我只是想知道Java是如何去確定java.library.path屬性的默認值?默認情況下java.library.path設置爲什麼?

我運行* buntu 14.04 64位,其默認值爲(前兩個是不存在的):

在/ usr/JAVA /包裝/ lib中/ AMD64
在/ usr/lib64下
/lib64的
/lib目錄
/usr/lib目錄

通過我的環境變量搜索,我發現什麼有這些。設置LD_LIBRARY_PATH確實將其內容添加到此列表中。

鑑於此信息,我假設這個列表只是明確設置(硬編碼)到Java中,但我找不到任何文檔。我的假設是否正確?對於不同的操作系統,其默認值是什麼?這些值是否會在分佈上發生變化?

我在問兩個原因。 1)我只是好奇。 2)我想知道我可以在哪裏放置一個庫,以便Java總能找到它。

+1

我想看一下源代碼[os_solaris.cpp](https://github.com/openjdk-mirror/jdk7u-hotspot/blob/master/src/os/solaris/vm/os_solaris.cpp#L743)/[os_windows.cpp](https://github.com/openjdk-mirror/jdk7u-hotspot/blob/master/src/os/windows/vm/os_windows.cpp#L194)將會回答你的問題。 – SubOptimal

+0

[Default Java library path?]可能重複(https://stackoverflow.com/questions/20038789/default-java-library-path) –

+0

@EtienneMiret這絕對是非常接近我的問題。然而,我的問題不是要求*它設置爲什麼,而是要求這些值在哪裏進行硬編碼。這已經2年了,我懷疑我會在這裏得到答案,所以如果你認爲我應該點擊「解決我的問題」按鈕,我會這樣做。 –

回答

-1

如果要查找當前在機器中設置的路徑,請運行以下命令。

System.out.println(System.getProperty("java.library.path")); 

你可以明確地設定在你的代碼路徑如下

System.setProperty(「java.library.path」, 「/path/to/library」); 

通過命令行

java -Djava.library.path=<path> 

此外,我不會把它的環境變量。它是jvm使用的系統屬性。

+0

是的,我知道如何設置和檢查值,我的問題是這些值來自哪裏,如果它們在不同的發行版中是相同的。 –

相關問題