如何在 Linux 上自動(dòng)設(shè)置 JAVA_HOME 環(huán)境變量
2016-02-15 17:22:43
13047
許多 Java 程序或基于 Java 的集成開發(fā)環(huán)境 (IDE)都需要設(shè)置好 JAVA_HOME 環(huán)境變量。該變量應(yīng)指向 Java 開發(fā)工具包 (JDK)或 Java 運(yùn)行時(shí)環(huán)境 (JRE)的安裝目錄。JDK 不僅包含了 JRE 提供的一切,還帶有用于編譯 Java 程序的額外的二進(jìn)制代碼和庫(kù)文件(例如編譯器,調(diào)試器及 JavaDoc 文檔生成器)。JDK 是用來(lái)構(gòu)建 Java 程序的,如果只是運(yùn)行已經(jīng)構(gòu)建好的 Java 程序,單獨(dú)一份 JRE 就足夠了。
當(dāng)您正試圖設(shè)置 JAVA_HOME 環(huán)境變量時(shí),麻煩的事情在于 JAVA_HOME 變量需要根據(jù)以下幾點(diǎn)而改變:(1) 您是否安裝了 JDK 或 JRE;(2) 您安裝了哪個(gè)版本;(3) 您安裝的是 Oracle JDK 還是 Open JDK。
因此每當(dāng)您的開發(fā)環(huán)境或運(yùn)行時(shí)環(huán)境發(fā)生改變(例如為 JDK 更新版本)時(shí),您需要根據(jù)實(shí)際情況調(diào)整 JAVA_HOME 變量,而這種做法是繁重且缺乏效率的。
以下 export 命令能為您自動(dòng)設(shè)置 JAVA_HOME 環(huán)境變量,而無(wú)須顧及上述的因素。
(1)若安裝的是jre
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))
(2)若安裝的是jdk
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac))))
(3)根據(jù)您的情況,將上述命令中的一條寫入 ~/.bashrc(或 /etc/profile)文件中,它就會(huì)永久地設(shè)置好 JAVA_HOME 變量。
注意,由于 java 或 javac 可以建立起多個(gè)層次的符號(hào)鏈接,為此"readlink -f"命令是用來(lái)獲取它們真正的執(zhí)行路徑的。
舉個(gè)例子,假如您安裝的是 Oracle JRE 7,那么上述的第一條 export 命令將自動(dòng)設(shè)置 JAVA_HOME 為:
/usr/lib/jvm/java-7-oracle/jre
若您安裝的是 Open JDK 第8版,那么第二條 export 命令將設(shè)置 JAVA_HOME 為:
/usr/lib/jvm/java-8-openjdk-amd64
會(huì)員登錄
賬號(hào)登錄還沒(méi)有賬號(hào)?立即注冊(cè)