為什么Java開發(fā)需要配置環(huán)境變量
之前學(xué)習(xí) Java 的時(shí)候,感覺最難做的一件事情就是配置 jdk 的環(huán)境。那叫一個(gè)困難啊,Path, JAVA_HOME, CLASSPATH 印象深刻的很…(但是現(xiàn)在 JDK11 不用再配置 classpath 了,jre 和 jdk 合并了)
就在去年暑假,要配 OpenCV 的環(huán)境,要調(diào)的東西還是比較多的,對環(huán)境配置的概念又加深了。
現(xiàn)在懂的多了,配過的環(huán)境也多了,配過的平臺也不算少。現(xiàn)在就想分享一下 關(guān)于我對配環(huán)境這件事情的感受。
那就以 Windows 來說說環(huán)境配置的問題,Linux 下的其實(shí)差不多。
為什么需要環(huán)境變量
我記得計(jì)算機(jī)網(wǎng)絡(luò)的老師在給我們講 ip/mac 地址 的時(shí)候提過一個(gè)例子:
你剛到這個(gè)班,班里都是新同學(xué),你想找班里的小明同學(xué)該怎么辦?
答:在班里喊一聲小明。這當(dāng)然可以,小明肯定會響應(yīng)你。對局域網(wǎng)來說也是如此。
但是,如果有一張座位表,上面有每個(gè)同學(xué)的座位信息,你想找到某個(gè)人是不是就很簡單了。
環(huán)境變量也是如此,也很適合這個(gè)例子。
當(dāng)用戶在 cmd 中執(zhí)行一個(gè)命令的時(shí)候,命令行的解釋器就會去找你要執(zhí)行的命令。
那么是去哪里找可執(zhí)行的命令呢?兩個(gè)地方:
- 當(dāng)前路徑下的可執(zhí)行文件
- 環(huán)境變量 Path 中保存的路徑下的可執(zhí)行文件(包括系統(tǒng)變量和用戶變量)
舉個(gè)例子
舉個(gè)栗子:
win + r 大家都用過吧,經(jīng)常用來快速運(yùn)行某些程序,比如打開命令行窗口我們就會用到:

那電腦是怎么知道 cmd 在哪兒的呢?

能看到 cmd.exe 是在 C:\Windows\System32\ 和 C:\Windows\SysWOW64\ 這兩個(gè)路徑下都有的,那就是說,電腦是去這兩個(gè)路徑之一打開的 cmd.exe,那我們來看一下,系統(tǒng)環(huán)境變量里到底有沒有這兩個(gè)路徑的其中一個(gè)呢?
查看一下系統(tǒng)的環(huán)境變量中的 Path 是不是有這個(gè)路徑:
在小娜的輸入框里輸入 path 或者 環(huán)境 可以直接跳轉(zhuǎn)到修改環(huán)境變量的地方,不行的話只能在計(jì)算機(jī)圖標(biāo)右鍵屬性了。

可以驗(yàn)證了吧~
所以這個(gè)流程我們也弄清楚了:
你在運(yùn)行窗口輸入 cmd:
-> 解釋器去尋找這個(gè)文件:
-> 先尋找當(dāng)前路徑下是否有
-> 再尋找環(huán)境變量中的Path保存的路徑是否有
-> 沒找到就報(bào)沒找到
所以如果你沒配置某個(gè)可執(zhí)行文件到 Path 里,那你就得手動輸入該文件的絕對路徑才能打開了。
比如說 Java…
Path 外的其他字段
其他的一些字段也是方便我們使用的,想用的時(shí)候使用 %字段名% 就能調(diào)用了。
比如說我在系統(tǒng)設(shè)置里設(shè)置了 CMDER_ROOT 字段,將其賦值為 D:\0ArtinD\cmder,這是一個(gè)路徑。

然后我想打開該路徑,就可以使用該字段名啦:

簡單來說!就是編程中的變量名。定義一個(gè)常量,想用的時(shí)候可以使用。
用戶變量和系統(tǒng)變量
操作系統(tǒng)中有用戶的概念。
用戶變量只對當(dāng)前登錄的用戶生效。
系統(tǒng)變量對當(dāng)前計(jì)算機(jī)的所有用戶生效。
以上就是為什么Java開發(fā)需要配置環(huán)境變量的詳細(xì)內(nèi)容,更多關(guān)于Java 環(huán)境變量的資料請關(guān)注腳本之家其它相關(guān)文章!
- Java配置JDK開發(fā)環(huán)境及環(huán)境變量
- Win10 Java jdk14.0.2安裝及環(huán)境變量配置詳細(xì)教程
- Windows10 Java環(huán)境變量配置過程圖解
- Java配置win10環(huán)境變量過程圖解
- win10下配置java環(huán)境變量的方法
- 詳解關(guān)于Windows10 Java環(huán)境變量配置問題的解決辦法
- windows下zookeeper配置java環(huán)境變量的方法
- 詳解Java環(huán)境變量配置方法(Windows)
- linux系統(tǒng) java環(huán)境變量的配置方法
- 批處理一鍵安裝JDK/一鍵安裝JRE和自動配置Java環(huán)境變量
相關(guān)文章
利用java反射機(jī)制實(shí)現(xiàn)自動調(diào)用類的簡單方法
下面小編就為大家?guī)硪黄胘ava反射機(jī)制實(shí)現(xiàn)自動調(diào)用類的簡單方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08
SpringBoot整合iText7導(dǎo)出PDF及性能優(yōu)化方式
在SpringBoot項(xiàng)目中整合iText7庫以導(dǎo)出PDF文件,不僅能夠滿足報(bào)告生成需求,而且可以處理復(fù)雜的文檔布局與樣式,整合步驟包括添加Maven依賴、編寫PDF生成代碼,性能優(yōu)化方面,建議使用流式處理、緩存樣式與字體、優(yōu)化HTML/CSS結(jié)構(gòu)、采用異步處理2024-09-09
springboot集成mybatis?plus和dynamic-datasource注意事項(xiàng)說明
這篇文章主要介紹了springboot集成mybatis?plus和dynamic-datasource注意事項(xiàng)說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01
Eclipse+Java+Swing+Mysql實(shí)現(xiàn)電影購票系統(tǒng)(詳細(xì)代碼)
這篇文章主要介紹了Eclipse+Java+Swing+Mysql實(shí)現(xiàn)電影購票系統(tǒng)并附詳細(xì)的代碼詳解,需要的小伙伴可以參考一下2022-01-01
springboot發(fā)送request請求的方式小結(jié)
在Java中,發(fā)送HTTP請求是常見需求,hutool工具包和RestTemplate類是實(shí)現(xiàn)此功能的兩種主流方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-09-09

