1. 程式人生 > >classpath、path、JAVA_HOME的作用

classpath、path、JAVA_HOME的作用

本文轉載自http://www.blogjava.net/anduo1989/archive/2011/11/05/362851.html

 CLASSPATH是什麼?它的作用是什麼?

     它是javac編譯器的一個環境變數。

     它的作用與import、package關鍵字有關。

     當你寫下improt java.util.*時,編譯器面對import關鍵字時,就知道你要引入java.util這個package中的類;但是編譯器如何知道你把這個package放在哪裡了呢?所以你首先得告訴編譯器這個package的所在位置;如何告訴它呢?就是設定CLASSPATH啦 :) 如果java.util這個package在c:\jdk\ 目錄下,你得把c:\jdk\這個路徑設定到CLASSPATH中去!當編譯器面對import java.util.*這個語句時,它先會查詢CLASSPATH所指定的目錄,並檢視子目錄java\util是否存在,然後找出名稱吻合的已編譯檔案(.class檔案)。如果沒有找到就會報錯!

     CLASSPATH有點像c\c++編譯器中的INCLUDE路徑的設定哦,是不是?當c\c++編譯器遇到include <iostream>這樣的語句,它是如何運作的?哦,其實道理都差不多!搜尋INCLUDE路徑,檢視檔案!

     當你自己開發一個package時,然後想要用這個package中的類;自然,你也得把這個package所在的目錄設定到CLASSPATH中去!

     CLASSPATH的設定,對JAVA的初學者而言是一件棘手的事。所以Sun讓JAVA2的JDK更聰明一些。你會發現,在你安裝之後,即使完全沒有設定CLASSPATH,你仍然能夠編譯基本的JAVA程式,並且加以執行。

.....................................................................................................................................................

1. PATH環境變數。作用是指定命令搜尋路徑,在命令列下面執行命令如javac編譯java程式時,它會到PATH變數所指定的路徑中查詢看是否能找到相應的命令程式。我們需要把jdk安裝目錄下的bin目錄增加到現有的PATH變數中,bin目錄中包含經常要用到的可執行檔案如javac/java/javadoc等待,設定好PATH變數後,就可以在任何目錄下執行javac/java等工具了。

2. CLASSPATH環境變數。作用是指定類搜尋路徑,要使用已經編寫好的類,前提當然是能夠找到它們了,JVM就是通過CLASSPATH來尋找類的。我們需要把jdk安裝目錄下的lib子目錄中的dt.jar和tools.jar設定到CLASSPATH中,當然,當前目錄“.”也必須加入到該變數中。

3. JAVA_HOME環境變數。它指向jdk的安裝目錄,Eclipse/NetBeans/Tomcat等軟體就是通過搜尋JAVA_HOME變數來找到並使用安裝好的jdk。

在windows桌面上右擊“我的電腦” —> “屬性” —> “高階” —> “環境變數”,在“系統變數”裡我們可以看到系統的各個環境變數的值。雙擊某個變數名可以修改變數值,變數值之間用“;”隔開。我們還可以“新建”原先沒有的變數。與jdk有關的有3個環境變數;“java_home”,“path”,“classpath”。我的系統中“path”變數已經存在,可以直接新增新值(其它變數值不要動,防止其它程式執行異常),其它兩個變數需要新建。

“java_home”,設定jdk的安裝路徑,比如“e:\java\jdk1.5”,以下簡稱“%java_home%”。

“path”,設定jdk中各個程式的路徑,“%java_home%\bin;%java_home%\jre\bin;”

“classpath”,設定java各個類的路徑,“.;%java_home%\lib;%java_home%\lib\tools.jar”。前面的“.”不可少,它代表了我們為自己的java類建立的工作路徑,其它的是jdk自帶的標準類庫路徑。

設定好環境變數後按“確定”退出。按“win”+“r”鍵進入“執行”視窗,執行“cmd”進入DOS視窗,在輸入“javac”後回車,如果有顯示java的幫助資訊,就說明環境變數設定成功。

classpath= ".;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar"

java_home = "C:\Program Files\Java\jdk1.5.0"

path ="%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin "