標籤:
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 這樣的語句,它是如何運作的?哦,其實道理都差不多!搜尋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等工具了。我們這裡設定的PATH值為:
%SystemRoot%/system32;%SystemRoot%;%SystemRoot%/System32/Wbem;%SYSTEMROOT%/System32/WindowsPowerShell/v1.0/;C:/Program Files/Common Files/Thunder Network/KanKan/Codecs;C:/Program Files/Microsoft SQL Server/90/Tools/binn/;C:/Program Files/Common Files/TTKN/Bin;C:/Program Files/Common Files/Teleca Shared;C:/Program Files/Java/jdk1.6.0_21/bin
上述只有紅色部分;C:/Program Files/Java/jdk1.6.0_21/bin是java的PATH變數,注意變數之間需要用";”隔開。
2. CLASSPATH環境變數。作用是指定類搜尋路徑,要使用已經編寫好的類,前提當然是能夠找到它們了,JVM就是通過CLASSPATH來尋找類的。我們需要把jdk安裝目錄下的lib子目錄中的dt.jar和tools.jar設定到CLASSPATH中,當然,目前的目錄“.”也必須加入到該變數中。這裡CLASSPATH為:
.;C:/Program Files/Java/jdk1.6.0_21/lib/dt.jar;C:/Program Files/Java/jdk1.6.0_21/lib/tools.jar
3. JAVA_HOME環境變數。它指向jdk的安裝目錄,Eclipse/NetBeans/Tomcat等軟體就是通過搜尋JAVA_HOME變數來找到並使用安裝好的jdk。這裡JAVA_HOME為:
C:/Program Files/Java/jdk1.6.0_21
.....................................................................................................................................................
java環境變數配置步驟:
在windows案頭上右擊“我的電腦” —> “屬性” —> “進階” —> “環境變數”,在“系統變數”裡我們可以看到系統的各個環境變數的值。雙擊某個變數名可以修改變數值,變數值之間用“;”隔開。我們還可以“建立”原先沒有的變數。與jdk有關的有3個環境變數;“JAVA_HOME”,“PATH”,“CLASSPATH”。我的系統中“PATH”變數已經存在,可以直接添加新值(其它變數值不要動,防止其它程式運行異常),其它兩個變數需要建立。
CLASSPATH= .;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar
JAVA_HOME = C:/Program Files/Java/jdk1.5.0
PATH = %JAVA_HOME%/bin;%JAVA_HOME%/jre/bin
從上面我們可以看出,PATH和CLASSPATH都使用到了JAVA_HOME,也可以使用絕對路徑,兩者皆可。
classpath、path、JAVA_HOME的作用及JAVA環境變數配置