1. 程式人生 > >java環境變數 Path 與CLASSPATH

java環境變數 Path 與CLASSPATH

1.Windows作業系統根據Path環境變數來查詢命令,Linux作業系統則根據PATH環境變數來查詢命令

   因為Windows作業系統不區分大小寫,設定Path和PATH並沒有區別,而Linux系統是區分大小寫的設定Path和PATH是有區別的,因此我們只需要設定PATH變數即可

2.CLASSPATH環境變數定位類:

1.       JDK 1.5以上的版本完全可以不用設定CLASSPATH環境變數

2.       1.4以前的JDK版本需要在CLASSPATH環境變數中新增一點(.)用以告訴JRE需要在當前路徑下搜尋java類

3.       編譯和執行java程式還需要JDK的lib路徑的dt.jar和tools.jar檔案裡的java 類,因此還需要把這兩個檔案新增到CLASSPATH環境變數裡

因此如果使用JDK1.4以前的版本來編譯和執行java程式,需要設定CLASSPATH環境變數的值為:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar(JAVA_HOEM是JDK的安裝路徑)

4.       後來Sun改進了JDK的設計,JRE會自動搜尋當前路徑下的類檔案,而且使用java的編譯和執行工具時,統可系以自動載入dt.jar和tools.jar檔案中的java類,因此不需要設定CLASSPATH環境變數

5.       即使使用JDK1.5以上的版本,也可以設定CLASSPATH環境變數,一旦設定了該變數,JRE將會按環境變數指定的路徑來搜尋java類,這意味著如果CLASSPATH環境變數中不包括(.)也就是沒有包含當前路徑 ,JRE不會在當前路徑下搜尋java類

6.       執行程式時,臨時制指定JRE搜尋java類路徑,可以使用-classpath選型

Java –classpath dir1;dir2;dir3….;dirN java類

如果我們在執行java程式時,指定了-calsspath選型的值,JRE嚴格按-calsspath選項裡的路徑來搜尋java類,既不會在當前路徑搜尋java類,CLASSPATH環境變數所指定的搜尋路徑也不再有效。

如果想CLASSPATH環境變數指定的路徑有效,而且還會在當前路徑搜尋java類:

Java –classpath %CLASSPATH% ;.;dir1;dir2;dir3;dirN java類

上面命令通過%CLASSPATH%來引用了CLASSPATH環境變數的值,並在-calsspath選項路的值裡添加了一點,強制JRE在當前路徑搜尋java類