如何在 Ubuntu Linux 中正確地設置 JAVA_HOME 變數
如果你 在 Ubuntu 上運行 Java 程序 ,使用 Eclipse、Maven 或 Netbeans 等等,你將需要將 JAVA_HOME
環境變數設置為正確的路徑。否則,你的系統將會向你控訴 「java_home 環境變數沒有設置」。
在這篇初學者教程中,我將向你展示在 Ubuntu 上正確地設置 JAVA_HOME
變數的步驟。這些步驟應該也適用於大多數的其它的 Linux 發行版。
設置過程包含這些步驟:
- 確保已安裝 Java 開發工具包(JDK)。
- 查找 JDK 可執行文件的正確的位置。
- 設置
JAVA_HOME
環境變數,並永久更改它。
步驟 1: 核查 JDK 是否已經安裝
核查 Java 開發工具包(JDK)是否已經安裝在你的 Linux 系統上的最簡單的方法是運行這個命令:
javac --version
上面的命令將核查 Java 編譯器的版本。如果已經安裝了 Java 編譯器,它將顯示 Java 版本:
如果上面的命令顯示像這樣未找到 javac
命令的錯誤信息,你得先安裝 JDK :
如果在你的系統上並沒有安裝 Java 編譯器,使用這條命令來安裝 Java 開發工具包 (JDK):
sudo apt install default-jdk
這將在你當前的 Ubuntu 版本中安裝默認的 Java 版本。如果你需要一些其它版本的 Java 版本,那麼你必須 在 Ubuntu 中安裝 Java 時 具體指出它的版本。
在你確保 Java 編譯器存在於你的系統之中後,接下來就到了查找其位置的時候了。
步驟 2: 獲取 JDK 可執行文件(Java 編譯器)的位置
可執行文件通常位於 /usr/lib/jvm
目錄之中。但我不會讓你來玩一個猜謎遊戲,讓我們來找出 Java 可執行文件的路徑。
使用 which 命令 來獲取 Java 編譯器可執行文件的位置:
which javac
在這裡的問題是,它給出的位置實際上是一個 符號鏈接 。你將需要按照下圖執行幾次:
最簡單的方法是直接使用下面這條命令跟隨符號鏈接來以獲取實際的可執行文件:
readlink -f `which java`
readlink
命令會跟隨一個符號鏈接。我在 which java
的外側使用 readlink
將會使用 which java
的輸出來替換要檢查的符號鏈接,這被稱之為命令替換。因此,在這個實例中,上面的命令大體上相當於 readlink -f /usr/bin/java
。
在我的示例中,可執行文件的位置是 /usr/lib/jvm/java-11-openjdk-amd64/bin/java
。對你來說可能會不一樣。在你的系統中,複製上述命令所獲取的正確的路徑。你知道,你可以 在 Ubuntu 的終端中複製和粘貼 。
步驟 3: 設置 JAVA_HOME 變數
現在,你已經獲取了位置,使用它來設置 JAVA_HOME
環境變數:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin/java
核查 JAVA_HOME
目錄的值:
echo $JAVA_HOME
嘗試在同一個終端中運行你的 Java 程序或工程,並查看它是否工作。
這尚未結束。你剛剛聲明的 JAVA_HOME
環境變數是臨時的。如果你關閉這個終端或開始一個新的會話,它將會再次變成空的。
為了「永久地」設置 JAVA_HOME
變數,你應該將其添加到你的家目錄中的 .bashrc
文件中。
你可以 在 Linux 終端中使用 Nano 編輯器來編輯文件。 如果你不想使用它,並想採取一種簡單的複製和粘貼的方法,使用下面的命令:
首先備份你的 .bashrc
文件(以防萬一你把它弄壞了,你還可以將其再恢復回來):
cp ~/.bashrc ~/.bashrc.bak
接下來,使用 echo 命令來追加 在這一節開頭使用的 export
命令。你應該適當地更改下面的命令,以便其正確地使用你的系統所顯示的路徑。
echo "export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin/java" >> ~/.bashrc
驗證它已經被正確地添加到文件的結尾處:
tail -3 ~/.bashrc
上面的 tail 命令 將顯示所具體指定文件的最後 3 行。
這裡是上面的三個命令的全部的輸出:
現在,即使你退出會話或重新啟動系統,JAVA_HOME
環境變數都仍將設置為你所具體指定的值。這就是你所想要的,對吧?
注意,如果你將來更改默認的 Java 版本,你將需要更改 JAVA_HOME
環境變數的值並將其指向正確的可執行文件的路徑。
我希望這篇教程不僅會幫助你設置 JAVA_HOME
環境變數,也會教會你如何完成這項工作。
如果你仍然面臨難題或者有一些疑問或建議,請在評論區告訴我。
via: https://itsfoss.com/set-java-home-ubuntu/
作者:Abhishek Prakash 選題:lujun9972 譯者:robsean 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive