爲什麼要設置JAVA_HOME、Path、CLASSPATH、CATALINA_HOME

首先得介紹下面幾個參數的作用:

current directory(當前目錄):
當前在用的目錄就是當前目錄。比如說當你打開NOTEPAD,並處於運行狀態時候,當前目錄就是c:/windows;如果你用cmd命令打開命令行窗口,當前目錄就是c:/windows/system32;如果你在用java這條指令,當前目錄就是JAVA下的BIN目錄所在的路徑,因爲java.exe在bin裏面。
在java開發配置環境變量時,系統默認(我們對classpath不做任何設定時)的路徑也是當前目錄。

JAVA_HOME:
它是指jdk的安裝目錄,像D:/j2sdk1.4.2_16。
可以新建一個JAVA_HOME變量,它的取值爲D:/j2sdk1.4.2_16。
爲什麼要設置它呢,不設定可不可以呢?不設定也是可以滴,但是最好還是設置一下。
我們現在就當它是一個變量代換 JAVA_HOME = D:/j2sdk1.4.2_16,就是爲了避免多寫字,它還有一個好處就是當我們需要改變某個jdk時,只需要改JAVA_HOME的值就可以了。等在後面看了Tomcat的啓動分析時你就明白了。
當在環境變量中引用它的時候要用%JAVA_HOME%來表示D:/j2sdk1.4.2_16。


Path:
系統變量Path告訴操作系統可執行文件(*.exe、*.bat等)所在的路徑,當OS(操作系統)發現某個*.exe時,windows默認從當前目錄開始查找這個命令,若查不到,OS就會到Path所設定的路徑中去尋找該命令,然後執行。
系統默認的系統變量爲:Path = %SystemRoot%;%SystemRoot%/system32;%SystemRoot%/System32/Wbem
就是說處於上面3個目錄(多個變量用分號隔開)中的*.exe文件,可以在任意地方被執行(在 運行 窗口能直接執行的命令,像cmd、notepad等,基本都在上面的3個目錄裏面),所以他們可以直接運行。
上面的%SystemRoot%是什麼意思呢?%SystemRoot%就是安裝操作系統的時候,系統默認的安裝路徑
若你的windows xp裝在C:/WINDOWS
則你的%systemRoot%路徑就是c:/windows
%systemRoot%只是一個符號,代表你的系統安裝目錄
下面是常見系統默認安裝路徑:
98----c:/windows
2000--c:/winnt
2003--c:/windows
xp----c:/windows
當我們要進行java開發時,OS經常需要用到java.exe、javac.exe等,(若jdk安裝在D:/j2sdk1.4.2_16)因此應該將D:/j2sdk1.4.2_16/bin(%JAVA_HOME%/bin)加入到系統的path中去。
注意:如果你加入的位置不是在最後,那還需要在bin後面加上英文狀態下的分號:%JAVA_HOME%/bin;多個變量之間要用分號隔開,如果它前面沒有,你就加一個。
明確一下:%JAVA_HOME%/jre/bin 這個路徑是不需要加入Path的。參考:http://java.sun.com/javase/6/docs/technotes/tools/windows/jdkfiles.html

CLASSPATH:
CLASSPATH是專門針對java的,它相當於windows的path;path是針對整個windows的。
CLASSPATH告訴java虛擬機(jvm)要使用或執行的*.class文件放在什麼地方。
所謂的JVM就好像是在微軟OS上面再激活另外一個OS,對JVM來說CLASSPATH就好像是對微軟OS來說的PATH,所以要用jvm開運行程序就需要設定classpath,然而jvm像windows一樣它也有個默認的查找class文件的路徑,對剛開始學習java的我們來說,默認的已經夠我們用了,那就是當前路徑,因此不設置classpath也可以。
在windows中 classpath 大小寫沒有關係,其他的環境變量名稱也一樣。
參照:
http://java.sun.com/javase/6/docs/technotes/tools/windows/classpath.html
The class path is the path that the Java runtime environment searches for classes and other resource files. The class search path (more commonly known by the shorter name, "class path") can be set using either the -classpath option when calling a JDK tool (the preferred method) or by setting the CLASSPATH environment variable. The -classpath option is preferred because you can set it individually for each application without affecting other applications and without other applications modifying its value.
如果你在classpath中用到 other resource files,那說明你已經熟悉classpath了,你可以自己隨意設置。
The default class path is the current directory. Setting the CLASSPATH variable or using the -classpath command-line option overrides that default, so if you want to include the current directory in the search path, you must include "." in the new settings.-----這句話是說,當我們不設定classpath時,系統默認的classpath是當前目錄,如果你個人想設置classpath的話,那麼務必在classpath中加入".",這個英文狀態下的點就表示當前目錄。
至於classpath中要不要加入其他的路徑(包括文件目錄、包的根目錄等),這要看開發的需要,一般我們初學者是用不到的。

path的設置倒沒有什麼疑惑,但是classpath就有疑惑了,到底裏面該不該加rt.jar ,dt.jar ,tool.jar呢?
可以肯定的是rt.jar是不需要的,jdk會自動加載。你可以用 java -verbose 命令來查看。
我們可以來研究一下%JAVA_HOME%/lib底下的 tools.jar 和 dt.jar 是甚麼咚咚:
http://java.sun.com/javase/6/docs/technotes/tools/windows/jdkfiles.html 或者
http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/jdkfiles.html
那tools.jar,dt.jar到底需不需要加進classpath呢?我查過一些資料,在Sun JDK 1.2及後續版本中,包含了一組可在程序運行時刻編譯和執行Java代碼的API。這些API被包含在tools.jar類庫中。這個功能允許Java程序在運行時動態編譯、執行小的代碼塊,在有些情況下這個功能會讓Java應用程序的架構更加靈活、開放。本來還有個例子我看得不是太懂,就不貼出來了。
如果您現在還未明白什麼是動態編譯或者是否需要“動態編譯java程序”,那就當作不需要;系統自己默認設定,閣下您也默認好了 ^_^

至於dt.jar包,在jdk1.4.0之後不用導入它,運行時會自動導入--這個是我在蒐集了n個資料後選擇的一個較安全放心的答案

CATALINA_HOME:
長話短說了,tomcat啓動就不分析了,告訴你怎麼設就可以了,在Tomcat 4以前,用的是TOMCAT_HOME來表示Tomcat的安裝目錄,中間還用過TOMCAT_BASE,在Tomcat 4以後,採用了新的Servlet容器Catalina,所以環境變量的名字也改爲了CATALINA_HOME,所以設置的時候不用把這3個變量都設了,要CATALINA_HOME就夠了。如果你安裝的是解壓縮版的也可以不用設置CATALINA_HOME,直接雙擊bin裏面的startup.bat就可以了,關閉的時候有shutdown.bat。

綜上:(在winXP中)以jdk安裝目錄爲-D:/j2sdk1.4.2_16,tomcat安裝目錄爲-D:/ApacheTomcat/apache-tomcat-6.0.14設置環境變量如下:你也可以參考http://java.sun.com/javase/6/docs/technotes/tools/windows/jdkfiles.html 自己決定那些是需要設置的。

JAVA_HOME = D:/j2sdk1.4.2_16
Path 環境變量中在最前面加入(若系統原來沒有就新建) %JAVA_HOME%/bin; (加在最前面可以提高查找速度)
CLASSPATH = . 這一步可以不用設。
CATALINA_HOME = D:/ApacheTomcat/apache-tomcat-6.0.14 這一步也可以不要。(解壓縮版)

 

from:http://hi.baidu.com/onino_info/blog/item/c24789521319ab0a0cf3e395.html

發佈了33 篇原創文章 · 獲贊 4 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章