1. 程式人生 > >配置JAVA環境變數中CLASSPATH變數的作用

配置JAVA環境變數中CLASSPATH變數的作用

在瞭解CLASSPATH變數之前,我們要先設定JAVA_HOME和path這兩個環境變數,讓JAVA環境可以成功地執行起來,然後,再開始我們的想法。

圖1

這裡寫圖片描述

首先,我們在E盤下的test目錄下準備兩個目錄,分別叫HelloWorld和ClassPath,在HelloWorld目錄下編寫一個JAVA原始檔——HelloWorld.java,而ClassPath目錄下為空。

然後在此目錄下分別用javac命令編譯,java命令執行,執行之後,我們發現一切正常,在沒有配置CLASSPATH環境變數時,程式成功的運行了。

圖3

然後,我們將CLASSPATH環境變數配置成E盤下ClassPath目錄的路徑,此時ClassPath目錄下仍為空。

這裡寫圖片描述

我們再次回到HelloWorld目錄下,繼續使用java命令執行之前的程式。我們發現,程式不能運行了,明明當前目錄下有HelloWorld.class檔案,但是,程式卻不能執行。

這裡寫圖片描述

此時,我們將HelloWorld目錄下的HelloWorld.class檔案移動到ClassPath目錄下。

圖5

這裡寫圖片描述

然後在回到HelloWorld目錄下繼續執行HelloWorld程式,此時,在HelloWorld目錄是沒有HelloWorld.class檔案的。但是,我們卻發現我們的程式居然執行成功了。

圖6.1

實際上,我們在任何目錄下執行HelloWorld程式,如:C盤根目錄下,都是可以執行成功的。因為ClassPath目錄下有HelloWorld.class。

圖6.2

好了,答案已經呼之欲出了。

結論1:在沒有配置CLASSPATH環境變數時,java命令在找class檔案時是預設在當前目錄下尋找的。

結論2:配置過CLASSPATH環境後,java命令是按照CLASSPATH變數中的路徑來的尋找class檔案的,這就是為什麼CLASSPATH變數中配置沒有當前目錄時,即使當前目錄中有class檔案,java命令仍然不能正常執行的原因。

在百度中正常的CLASSPATH環境變數的值

圖7