歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux系統入門教程:如何在 Linux 上自動設置 JAVA_HOME 環境變量

Linux系統入門教程:如何在 Linux 上自動設置 JAVA_HOME 環境變量

日期:2017/2/28 13:56:34   编辑:Linux教程

問題:我需要在我的 Linux 機器上編譯 Java 程序。為此我已經安裝了 JDK (Java Development Kit),而現在我正試圖設置 JAVA_HOME 環境變量使其指向安裝好的 JDK 。關於在 Linux 上設置 JAVA_HOME 環境變量,最受推崇的辦法是什麼?

許多 Java 程序或基於 Java 的集成開發環境 (IDE)都需要設置好 JAVA_HOME 環境變量。該變量應指向 Java 開發工具包 (JDK)或 Java 運行時環境 (JRE)的安裝目錄。JDK 不僅包含了 JRE 提供的一切,還帶有用於編譯 Java 程序的額外的二進制代碼和庫文件(例如編譯器,調試器及 JavaDoc 文檔生成器)。JDK 是用來構建 Java 程序的,如果只是運行已經構建好的 Java 程序,單獨一份 JRE 就足夠了。

當您正試圖設置 JAVA_HOME 環境變量時,麻煩的事情在於 JAVA_HOME 變量需要根據以下幾點而改變:(1) 您是否安裝了 JDK 或 JRE;(2) 您安裝了哪個版本;(3) 您安裝的是 Oracle JDK 還是 Open JDK。

因此每當您的開發環境或運行時環境發生改變(例如為 JDK 更新版本)時,您需要根據實際情況調整 JAVA_HOME 變量,而這種做法是繁重且缺乏效率的。

以下 export 命令能為您自動設置 JAVA_HOME 環境變量,而無須顧及上述的因素。

若您安裝的是 JRE:

  1. export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which java))))

若您安裝的是 JDK:

  1. export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac))))

根據您的情況,將上述命令中的一條寫入 ~/.bashrc(或 /etc/profile)文件中,它就會永久地設置好 JAVA_HOME 變量。

注意,由於 java 或 javac 可以建立起多個層次的符號鏈接,為此"readlink -f"命令是用來獲取它們真正的執行路徑的。

舉個例子,假如您安裝的是 Oracle JRE 7,那麼上述的第一條 export 命令將自動設置 JAVA_HOME 為:

  1. /usr/lib/jvm/java-7-oracle/jre

若您安裝的是 Open JDK 第8版,那麼第二條 export 命令將設置 JAVA_HOME 為:

  1. /usr/lib/jvm/java-8-openjdk-amd64

簡而言之,這些 export 命令會在您重裝/升級您的JDK/JRE,或更換默認 Java 版本時自動更新 JAVA_HOME 變量。您不再需要手動調整它。


via: http://ask.xmodulo.com/set-java_home-environment-variable-linux.html

作者:Dan Nanni 譯者:Ricky-Gong 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

Copyright © Linux教程網 All Rights Reserved