【轉】java 環境變量:path與classpath區別


  path指示java命令的路徑,像javac、java、javaw等;

  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文件)。如果沒有找到就會報錯! 

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沒有運行起來大多是這個原因。 

2、如果是Win2000或者XP,使用鼠標右擊"我的電腦"->屬性->高級->環境變量 
系統變量->新建->變量名: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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM