為什么Java開(kāi)發(fā)需要配置環(huán)境變量
之前學(xué)習(xí) Java 的時(shí)候,感覺(jué)最難做的一件事情就是配置 jdk 的環(huán)境。那叫一個(gè)困難啊,Path, JAVA_HOME, CLASSPATH 印象深刻的很…(但是現(xiàn)在 JDK11 不用再配置 classpath 了,jre 和 jdk 合并了)就在去年暑假,要配 OpenCV 的環(huán)境,要調(diào)的東西還是比較多的,對(duì)環(huán)境配置的概念又加深了。現(xiàn)在懂的多了,配過(guò)的環(huán)境也多了,配過(guò)的平臺(tái)也不算少。現(xiàn)在就想分享一下 關(guān)于我對(duì)配環(huán)境這件事情的感受。
那就以 Windows 來(lái)說(shuō)說(shuō)環(huán)境配置的問(wèn)題,Linux 下的其實(shí)差不多。
為什么需要環(huán)境變量
我記得計(jì)算機(jī)網(wǎng)絡(luò)的老師在給我們講 ip/mac 地址 的時(shí)候提過(guò)一個(gè)例子:
你剛到這個(gè)班,班里都是新同學(xué),你想找班里的小明同學(xué)該怎么辦?答:在班里喊一聲小明。這當(dāng)然可以,小明肯定會(huì)響應(yīng)你。對(duì)局域網(wǎng)來(lái)說(shuō)也是如此。但是,如果有一張座位表,上面有每個(gè)同學(xué)的座位信息,你想找到某個(gè)人是不是就很簡(jiǎn)單了。
環(huán)境變量也是如此,也很適合這個(gè)例子。當(dāng)用戶(hù)在 cmd 中執(zhí)行一個(gè)命令的時(shí)候,命令行的解釋器就會(huì)去找你要執(zhí)行的命令。那么是去哪里找可執(zhí)行的命令呢??jī)蓚€(gè)地方:
當(dāng)前路徑下的可執(zhí)行文件 環(huán)境變量 Path 中保存的路徑下的可執(zhí)行文件(包括系統(tǒng)變量和用戶(hù)變量)舉個(gè)例子
舉個(gè)栗子:win + r 大家都用過(guò)吧,經(jīng)常用來(lái)快速運(yùn)行某些程序,比如打開(kāi)命令行窗口我們就會(huì)用到:
那電腦是怎么知道 cmd 在哪兒的呢?
能看到 cmd.exe 是在 C:WindowsSystem32 和 C:WindowsSysWOW64 這兩個(gè)路徑下都有的,那就是說(shuō),電腦是去這兩個(gè)路徑之一打開(kāi)的 cmd.exe,那我們來(lái)看一下,系統(tǒng)環(huán)境變量里到底有沒(méi)有這兩個(gè)路徑的其中一個(gè)呢?
查看一下系統(tǒng)的環(huán)境變量中的 Path 是不是有這個(gè)路徑:在小娜的輸入框里輸入 path 或者 環(huán)境 可以直接跳轉(zhuǎn)到修改環(huán)境變量的地方,不行的話(huà)只能在計(jì)算機(jī)圖標(biāo)右鍵屬性了。
可以驗(yàn)證了吧~
所以這個(gè)流程我們也弄清楚了:
你在運(yùn)行窗口輸入 cmd:-> 解釋器去尋找這個(gè)文件:-> 先尋找當(dāng)前路徑下是否有-> 再尋找環(huán)境變量中的Path保存的路徑是否有-> 沒(méi)找到就報(bào)沒(méi)找到
所以如果你沒(méi)配置某個(gè)可執(zhí)行文件到 Path 里,那你就得手動(dòng)輸入該文件的絕對(duì)路徑才能打開(kāi)了。比如說(shuō) Java…
Path 外的其他字段
其他的一些字段也是方便我們使用的,想用的時(shí)候使用 %字段名% 就能調(diào)用了。比如說(shuō)我在系統(tǒng)設(shè)置里設(shè)置了 CMDER_ROOT 字段,將其賦值為 D:0ArtinDcmder,這是一個(gè)路徑。
然后我想打開(kāi)該路徑,就可以使用該字段名啦:
簡(jiǎn)單來(lái)說(shuō)!就是編程中的變量名。定義一個(gè)常量,想用的時(shí)候可以使用。
用戶(hù)變量和系統(tǒng)變量
操作系統(tǒng)中有用戶(hù)的概念。用戶(hù)變量只對(duì)當(dāng)前登錄的用戶(hù)生效。系統(tǒng)變量對(duì)當(dāng)前計(jì)算機(jī)的所有用戶(hù)生效。
以上就是為什么Java開(kāi)發(fā)需要配置環(huán)境變量的詳細(xì)內(nèi)容,更多關(guān)于Java 環(huán)境變量的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 解決Python 進(jìn)程池Pool中一些坑2. Python如何讀寫(xiě)CSV文件3. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究4. 三個(gè)不常見(jiàn)的 HTML5 實(shí)用新特性簡(jiǎn)介5. 無(wú)線(xiàn)標(biāo)記語(yǔ)言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁(yè)6. ajax請(qǐng)求添加自定義header參數(shù)代碼7. php測(cè)試程序運(yùn)行速度和頁(yè)面執(zhí)行速度的代碼8. Python獲取抖音關(guān)注列表封號(hào)賬號(hào)的實(shí)現(xiàn)代碼9. python利用os模塊編寫(xiě)文件復(fù)制功能——copy()函數(shù)用法10. Python使用jupyter notebook查看ipynb文件過(guò)程解析
