path與classpath區別
1.path的作用
path是系統用來指定可執行檔案的完整路徑,即使不在path中設定JDK的路徑也可執行JAVA檔案,但必須把完整的路徑寫出來,如C:\Program Files\Java\jdk1.6.0_10\bin\javac TheClass.java。path是用來搜尋所執行的可執行檔案路徑的,如果執行的可執行檔案不在當前目錄下,那就會依次搜尋path中設定的路徑;而java的各種操作命令是在其安裝路徑中的bin目錄下,所以在path中設定了JDK的安裝目錄後就不用再把java檔案的完整路徑寫出來了,它會自動去path中設定的路徑中去找;
2.classpath的作用
classpath是指定你在程式中所使用的類(.class)檔案所在的位置,就如在引入一個類時:import javax.swing.JTable這句話是告訴編譯器要引入javax.swing這個包下的JTable類,而classpath就是告訴編譯器該到哪裡去找到這個類(前提是你在classpath中設定了這個類的路徑);如果你想要編譯在當前目錄下找,就加上“.”,如:.;C:\Program Files\Java\jdk\,這樣編譯器就會到當前目錄和C:\Program Files\Java\jdk\去找javax.swing.JTable這個類;還提下:大多數人都是用Eclipse寫程式,不設classpath也沒關係,因為Eclipse有相關的配置;
path是os用
classpath java用
path裡面不光有Java的bin,還可以包含許多其他的,tc啊,masm阿,只要在path中設了這些環境的路徑,你在dos下的任何路徑上都可以呼叫這些路徑下的命令。 classpath是java專用的查詢類的路徑
系統變數是環境變數的一種,環境變數一種僅本使用者適用,另一種即系統變數整個系統的使用者都適用,兩者都可以在使用應用程式時提供快捷.一般在編輯java檔案或者C#檔案時需要修改,設計到多個資料夾之間的切換時也可以根據自己的需要設定.
簡單的說就是,如果設定系統變數和使用者變數,都叫做設定環境變數,設定系統變數時,該系統的所有帳號的使用者都可以使用,但是設定使用者變數時,其他的帳號登陸時就不一定可以使用。
下面以java環境變數為例設定方法:
1、如果是Win95/98,在\autoexec.bat的最後面新增如下3行語句:
JAVA_HOME=c:\j2sdk1.4.1
PATH=%JAVA_HOME%\bin;%PATH%
CLASSPATH=.;%JAVA_HOME%\lib
看好了CLASSPATH中第一個".",這個代表當前目錄,很多人HelloWorld沒有執行起來大多是這個原因。
系統變數->新建->變數名:JAVA_HOME 變數值:c:\j2sdk1.4.1
系統變數->新建->變數名:CLASSPATH 變數值:.;%JAVA_HOME%\lib
系統變數->編輯->變數名:Path 在變數值的最前面加上:%JAVA_HOME%\bin;
CLASSPATH前面的那個"."和上面的意義是一樣的。
3、如果是Linux使用者
在你的環境中,通常我加在.bashrc檔案中,你可以加在你的Profile檔案中。
/usr/local/jdk 為你安裝jdk的目錄。
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin