詳解Javahome 與 Path 與ClassPath的含義 (轉)


1、首先搞明白內部命令與外部命令的區別
在學習編程過程中經常遇到這樣的概念:
內部命令
啟動后是常住內存的。
用dos的時候內存都比較小,非常貴,而內部命令啟動后是常住內存的。
外部命令
內部直接打就可以執行,外部得進到命令所在的目錄或者設置環境變量才可以執行. 
在java開發中設置的環境變量就解決這個問題的

2、環境變量的含義(注意:java環境變量設置不分大小寫)

1、java_home(不分大小寫),其實這是保存你的jdk安裝的路徑, (這主要是在路徑設置時,使其更為直觀和方便,使用%%可以實現對其的逆解析
例如:D:\Java\jdk1.5.0_05

2、Path:外部命令搜索路徑(它與ClassPath不同,主要提供的是系統命令執行工具的路徑,即用於執行命令的.EXE程序,如java、javac,一般不輕易改變
例如:D:\Java\jdk1.5.0_05\bin
例如:%JAVA_HOME%\BIN; 當你改變javahome時卻不必影響到path你設java_home時不用經常改變path,java_home在path里只是一個相對路徑
當你重裝jdk的時候只需要修改一下 java_home 不必修改path

3、CLASSPATH:類資源位置搜索路徑(這是命令執行工具要執行的類文件的地址,java會首先在當前目錄Lib下尋找(一般開始就設定了的),如果未找到,則會到CLASSPATH指定的目錄下進行尋找。由於是要執行的。class文件,所以其經常要變化,在使用Eclipse等IDE時,由系統自動的根據其位置進行配置。在非IDE方式下,則需要進行手動的配置。

CLASSPATH: .;D:\jdk1.5.0\lib\tools.jar;D:\jdk1.5.0\jre\lib\rt.jar;
注意細節你的系統可能已經有其他的軟件設置了path:

 程序代碼
.;D:\jdk1.5.0\lib\tools.jar;D:\jdk1.5.0\jre\lib\rt.jar;
其中的PATH和CLASSPATH是java為所有的應用程序提供的,PATH用於指出命令執行工具的位置(搜尋路徑),如java、javac,而ClassPath用於指定需要被命令工具執行的資源文件的位置。
 
當我們在控制台下敲入:

如果未配置path路徑,指明java這個命令工具的所在地,則其將無法被找到。

此處可以采用

1、在“我的電腦”屬性中配置系統環境變量

 

2、在控制台中臨時配置兩種方式(每次都要重新敲入)

一般來說,PATH變量的設置一般不會輕易變化,為了節省精力,一邊采用在系統環境變量中配置,以避免重復敲入。

而CLASSPATH變化較大(資源文件的存放),一般會設置一個默認的系統變量,但是在執行命令工具之前,一般要用第2種方式對其進行重新的配置。

 

 


3、徹底理解 Javahome 與 Path 與ClassPath的含義


1、PATH,這個是給WINDOWS操作系統用的, 告訴命令行里,執行的命令行工具在那里,比如java,javac這都是命令行工具,你在運行里隨便敲一個命令,操作系統怎么就知道你這個命令對應的程序在什么地方,就是通過PATH知道的,你編寫JAVA程序的時候,需要編譯你的代碼,執行編譯后的代碼,用JAVA和JAVAC這2個工具,那么就必須告訴操作系統,這2個工具放在什么地方。
{WINDOWS提供了一個PATH環境變量,他的作用就是現在這個變量的值路徑中去找,如果找到了要運行的EXE就運行,否則失敗。如果我們把JAVA里的bin目錄這個路徑賦給path那么下次我在運行java這個命令的時候,即便是直接輸入DOS也能夠在path變量中找到JAVA的bin目錄下的java指令了。 }


2、JAVA_HOME,是告訴操作系統,JAVAC和JAVA的具體位置的,因為你安裝JAVA的路徑可能比較長,不方便在PATH里面寫,所以就等於是聲明一個簡寫。

例如:你的jdk安裝路徑為
D:\Java\jdk1.5.0_05
那么
java_home = D:\Java\jdk1.5.0_05;
path  = :%java_home%\bin;

3、CLASSPATH,是給JAVAC和JAVA用的,告訴他們,你寫的JAVA類,是放在什么地方的。
——“假設我們要運行一個JAVA程序(hello.java)就要先把它的class文件移動到JAVA里的bin目錄下”,為什么要這樣做呢?因為我們在用到java hello.class這條指令的時候,DOS不知道hello.class這個文件在哪里,他就先到當前目錄中去找,如果找到就運行,否則失敗。當然,如果說hello.java在D盤根目錄下,你也可以用java D:\hello.class這條指令來運行,但是每次這樣做也確實夠麻煩。WINDOWS就提供了這樣一個環境變量——classpath,如果沒有就應該新建一個。我們把D:\這個路徑賦值給classpath,那么下次在運行java hello.java的時候就先在當前目錄中到,如果找到就運行,如果找不到就在classpath的值路徑下去找,找到就運行,找不到就失敗。 


免責聲明!

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



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