1. 程式人生 > >為什麼配置path、classpath、JAVA_HOME及配置方法

為什麼配置path、classpath、JAVA_HOME及配置方法

1.為什麼配置path環境變數及配置方法

配置path環境變數原因

1.程式的執行需要使用外部指令javac,但是javac指令僅僅能在JDK安裝目錄下的bin目錄下執行,因此java程式只能寫入bin目錄。這樣bin目錄會很亂,不易管理。
2. 程式開發過程中,不能將原始碼寫入JDK的安裝目錄,因此需要將源程式儲存到任意位置的指定目錄(英文目錄),所以需要使javac指令在任意目錄下可以執行。

配置path環境變數的方式 (必須配置)
方式一:在path環境變數中新增bin的絕對路徑(不推薦)
  通過配置path環境變數,將javac、java等指令所在目錄(也就是JDK安裝目錄下的bin目錄)配置到path環境變數下,即可使javac、java等指令在任意目錄下執行。比如,你JDK安裝在C:\ProgramFiles\Java\jdk1.7.0目錄裡。

  • win7,win8系統:右鍵點選桌面計算機→選擇屬性→選擇高階系統設定→選擇高階選項卡→點選環境變數→下方系統變數中查詢path→雙擊path→將jdk安裝目錄下的bin目錄新增到最左邊並新增分號(C:\ProgramFiles\Java\jdk1.7.0\bin)
  • XP系統:右鍵點選桌面計算機→選擇屬性→選擇高階選項卡→點選環境變數→下方系統變數中查詢path→雙擊path→將jdk安裝目錄下的bin目錄新增到最左邊並新增分號(C:\ProgramFiles\Java\jdk1.7.0\bin)

方式二:path環境變數的參照形配置方式(強烈推薦)

  1. 建立新變數名稱:JAVA_HOME
  2. 為JAVA_HOME新增變數值:JDK安裝目錄(即C:\ProgramFiles\Java\jdk1.7.0)
  3. 將JDK目錄( %JAVA_HOME%\bin)放在 path環境變數最左邊並新增分號

  首先要注意path環境變數具有先後順序的。其次建立JAVA_HOME變數的好處是:當電腦上安裝有多個JDK時,當需要使用不同的JDK時,只需要修改JAVA_HOME變數即可。
  JAVA_HOME變數的更多用途,請參考:http://www.jb51.net/article/39894.htm

2.為什麼配置classpath環境變數及配置方法

配置classpath環境變數原因 (1.7版本及更高版本,千萬別配置)
  jdk1.5版本之前(1.7版本及之後不考慮classpath問題)這個變數設定的 目的是為了java.exe程式能在任意目錄下執行相應目錄下的”.class”檔案。 不妨舉個例子: 你在當前目錄下編譯一個JAVA程式(demo.java), 會得到一個demo.class的類檔案,你在當前目錄下執行java demo, 將會得到相應的結果。 現在, 你把demo.class移到別的目錄下(例如:”e:\”), 還在當前目錄下執行java demo, 將會有NoClassDefFindError的異常,原因就是當前目錄下找不到.class檔案, 現在你把classpath增加為:” . ;e:\

“(注意有一個小點)再在任何目錄下執行java demo, 一切正常, java命令通過classpath找到了.class檔案!

classpath環境變數配置方式
1. 建立新的變數名稱:classpath
2. 值設定為指定的含有class檔案的目錄,多個目錄間使用分號(;)分割

  • 作用:使classpath目錄中的.class檔案可以在任意目錄執行
  • 技巧:通常將配置的目錄最前面新增.配置(即當前目錄),使.class檔案搜尋時首先搜尋當前目錄,然後根據目錄配置的順序依次查詢,找到後即執行,因此classpath目錄中的配置存在先後順序

在學習java的初期,如果是在cmd命令列視窗下執行java的編譯、執行。最好是熟練練習classpath的配置和使用。在jdk1.5版本之前必須配置classpath,jvm虛擬機器才能找到.class檔案,1.5版本以後jvm虛擬機器會預設在當前目錄去找.class檔案,所以我們現在的1.7版本千萬別配置classpath,因為沒有意義 詳細解釋見:http://blog.csdn.net/flyhawk007blog/article/details/3001996

3.path與classpath區別

  • path環境變數是os用: path是系統用來指定可執行檔案的完整路徑。如果執行的可執行檔案不在當前目錄下,那就會依次搜尋path中設定的路徑。
  • classpath環境變數是java用:裡記錄的是java類的執行檔案所在的目錄

4.set命令用法

需求: 在現實開發中有時候jdk版本的資訊有時候只會使用一次或者幾次就不再使用了,那麼如果是這種需求,我們一般都是通過set命令配置臨時環境變數。臨時環境變數就是僅對於當前控制檯視窗起作用,視窗一旦關閉,那麼配置的臨時環境變數資訊會發生消失。

set命令的用法:

set                                     檢視所有的環境變數資訊。
set 環境變數的名字                         檢視指定的環境變數資訊。
set 環境變數名字 = 路徑資訊                 設定指定的環境變數資訊。
set 環境變數名字 =                        清空指定的環境變數資訊。
set 環境變數名字 = 新路徑;%環境變數名字%    在原有的基礎上新增新的路徑資訊。

注意: 以後大家但凡看到是set命令設定的環境變數資訊,都是臨時環境變數資訊。