配置JAVA環(huán)境變量中CLASSPATH變量的作用
在了解CLASSPATH變量之前,我們要先設(shè)置JAVA_HOME和path這兩個(gè)環(huán)境變量,讓JAVA環(huán)境可以成功地運(yùn)行起來(lái),然后,再開(kāi)始我們的想法。
首先,我們?cè)贓盤下的test目錄下準(zhǔn)備兩個(gè)目錄,分別叫HelloWorld和ClassPath,在HelloWorld目錄下編寫一個(gè)JAVA源文件——HelloWorld.java,而ClassPath目錄下為空。
然后在此目錄下分別用javac命令編譯,java命令運(yùn)行,運(yùn)行之后,我們發(fā)現(xiàn)一切正常,在沒(méi)有配置CLASSPATH環(huán)境變量時(shí),程序成功的運(yùn)行了。
然后,我們將CLASSPATH環(huán)境變量配置成E盤下ClassPath目錄的路徑,此時(shí)ClassPath目錄下仍為空。
我們?cè)俅位氐紿elloWorld目錄下,繼續(xù)使用java命令運(yùn)行之前的程序。我們發(fā)現(xiàn),程序不能運(yùn)行了,明明當(dāng)前目錄下有HelloWorld.class文件,但是,程序卻不能運(yùn)行。
此時(shí),我們將HelloWorld目錄下的HelloWorld.class文件移動(dòng)到ClassPath目錄下。
然后在回到HelloWorld目錄下繼續(xù)運(yùn)行HelloWorld程序,此時(shí),在HelloWorld目錄是沒(méi)有HelloWorld.class文件的。但是,我們卻發(fā)現(xiàn)我們的程序居然運(yùn)行成功了。
實(shí)際上,我們?cè)谌魏文夸浵逻\(yùn)行HelloWorld程序,如:C盤根目錄下,都是可以運(yùn)行成功的。因?yàn)镃lassPath目錄下有HelloWorld.class。
好了,答案已經(jīng)呼之欲出了。
結(jié)論1:在沒(méi)有配置CLASSPATH環(huán)境變量時(shí),java命令在找class文件時(shí)是默認(rèn)在當(dāng)前目錄下尋找的。
結(jié)論2:配置過(guò)CLASSPATH環(huán)境后,java命令是按照CLASSPATH變量中的路徑來(lái)的尋找class文件的,這就是為什么CLASSPATH變量中配置沒(méi)有當(dāng)前目錄時(shí),即使當(dāng)前目錄中有class文件,java命令仍然不能正常運(yùn)行的原因。
在百度中正常的CLASSPATH環(huán)境變量的值
到此這篇關(guān)于配置JAVA環(huán)境變量中CLASSPATH變量的作用的文章就介紹到這了,更多相關(guān)JAVA環(huán)境變量?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java實(shí)現(xiàn)將文件或者文件夾壓縮成zip的詳細(xì)代碼
這篇文章主要介紹了Java實(shí)現(xiàn)將文件或者文件夾壓縮成zip的詳細(xì)代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-11java實(shí)現(xiàn)一個(gè)掃描包的工具類實(shí)例代碼
很多框架,比如springmvc,mybatis等使用注解,為了處理注解,必然要對(duì)包進(jìn)行掃描,所以下面這篇文章主要給大家分享介紹了關(guān)于利用java如何實(shí)現(xiàn)一個(gè)掃描包的工具類,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-10-10Java結(jié)構(gòu)型設(shè)計(jì)模式中建造者模式示例詳解
建造者模式,是一種對(duì)象構(gòu)建模式 它可以將復(fù)雜對(duì)象的建造過(guò)程抽象出來(lái),使這個(gè)抽象過(guò)程的不同實(shí)現(xiàn)方法可以構(gòu)造出不同表現(xiàn)的對(duì)象。本文將通過(guò)示例講解建造者模式,需要的可以參考一下2022-09-09部署springboot項(xiàng)目到云服務(wù)器的兩種方式(jar+war)
本文主要介紹了部署springboot項(xiàng)目到云服務(wù)器的兩種方式,主要介紹了jar和war兩種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12Spring Security基于散列加密方案實(shí)現(xiàn)自動(dòng)登錄功能
為了提高項(xiàng)目的用戶體驗(yàn),我們可以在項(xiàng)目中添加自動(dòng)登錄功能,當(dāng)然也要給用戶提供退出登錄的功能。接下來(lái)學(xué)習(xí)下Spring Security基于散列加密方案實(shí)現(xiàn)自動(dòng)登錄功能,一起看看吧2021-09-09Java面向?qū)ο蠡A(chǔ)之多態(tài)性,抽象類和接口
這篇文章主要介紹了Java面向?qū)ο蠡A(chǔ):多態(tài)性,抽象類和接口,文中代碼可以幫助各位更好的理解學(xué)習(xí),有需求的小伙伴可以參考下2020-05-05深入dom4j使用selectSingleNode方法報(bào)錯(cuò)分析
本篇文章是對(duì)dom4j使用selectSingleNode方法報(bào)錯(cuò)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05