在了解CLASSPATH變量之前,我們要先設置JAVA_HOME和path這兩個環(huán)境變量,讓JAVA環(huán)境可以成功地運行起來,然后,再開始我們的想法。 首先,我們在E盤下的test目錄下準備兩個目錄,分別叫HelloWorld和ClassPath,在HelloWorld目錄下編寫一個JAVA源文件——HelloWorld.java,而ClassPath目錄下為空。 然后在此目錄下分別用javac命令編譯,java命令運行,運行之后,我們發(fā)現(xiàn)一切正常,在沒有配置CLASSPATH環(huán)境變量時,程序成功的運行了。 然后,我們將CLASSPATH環(huán)境變量配置成E盤下ClassPath目錄的路徑,此時ClassPath目錄下仍為空。 我們再次回到HelloWorld目錄下,繼續(xù)使用java命令運行之前的程序。我們發(fā)現(xiàn),程序不能運行了,明明當前目錄下有HelloWorld.class文件,但是,程序卻不能運行。 此時,我們將HelloWorld目錄下的HelloWorld.class文件移動到ClassPath目錄下。 然后在回到HelloWorld目錄下繼續(xù)運行HelloWorld程序,此時,在HelloWorld目錄是沒有HelloWorld.class文件的。但是,我們卻發(fā)現(xiàn)我們的程序居然運行成功了。 實際上,我們在任何目錄下運行HelloWorld程序,如:C盤根目錄下,都是可以運行成功的。因為ClassPath目錄下有HelloWorld.class。 好了,答案已經(jīng)呼之欲出了。 結論1:在沒有配置CLASSPATH環(huán)境變量時,java命令在找class文件時是默認在當前目錄下尋找的。 結論2:配置過CLASSPATH環(huán)境后,java命令是按照CLASSPATH變量中的路徑來的尋找class文件的,這就是為什么CLASSPATH變量中配置沒有當前目錄時,即使當前目錄中有class文件,java命令仍然不能正常運行的原因。 在百度中正常的CLASSPATH環(huán)境變量的值 |
|