簡體   English   中英

如何找到在unix中安裝java的確切位置

[英]how to find the exact location where java is installed in unix

我正在使用 SSH 客戶端。 我仍然運行了環境變量

echo $JAVA_HOME 沒有返回任何內容。 我想找到在 unix 中安裝 java 的確切位置。 有沒有其他命令可以幫助我解決這個問題?

which命令為您提供了java二進制文件的路徑:

which java

但是如果它只是一個符號鏈接(例如被alternatives ),這將無法獲得二進制文件的真實路徑。 您可以使用ls -l列出符號鏈接指向的位置:

ls -l `which java`

這對我來說輸出

/usr/bin/java -> /etc/alternatives/java

然后按照符號鏈接,直到您到達源頭。 或者,如果在您的系統上可用,請將readlink命令與-f結合使用,后者為您提供符號鏈接:

readlink -f `which java`

編輯:Ankit 在評論中寫道readlink不是標准的 UNIX 命令,並且-f似乎也不適用於 Mac,因此這可能不是您的選擇,盡管頁面描述了如何獲取greadlink以獲取此功能在 Mac 上通過brew

brew install coreutils greadlink -f which java

由於echo $JAVA_HOME沒有給你路徑,這個變量可能還沒有設置。 相反,哪個命令會給你路徑。

which java

請注意,如果 command 是symlink ,這可能不會為您提供確切位置。 如果是這種情況,您必須通過其他方法解析symlink readlink或通過 python (os.path.realpath(path))

你能跑嗎? whereis java

據我所知,它提供了指向位置的符號鏈接。

在 Unix 上,您應該能夠使用“which java”命令。

https://en.wikipedia.org/wiki/Which_(Unix)

您可以嘗試使用這兩個命令

$ which java

$ whereis java

試試這個

$ which java

可能導致輸出為

/usr/bin/java

通過將/jre附加到以下命令的輸出目錄,您可以非常輕松地找到 Java 主目錄

sudo update-java-alternatives -l

示例輸出將是

java-11-oracle                 1091       /usr/lib/jvm/java-11-oracle

現在附加/jre這使得 JAVA HOME 為

/usr/lib/jvm/java-11-oracle/jre

暫無
暫無

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

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