為什么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)也不算少?,F(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)用戶在 cmd 中執(zhí)行一個(gè)命令的時(shí)候,命令行的解釋器就會(huì)去找你要執(zhí)行的命令。
那么是去哪里找可執(zhí)行的命令呢??jī)蓚€(gè)地方:
- 當(dāng)前路徑下的可執(zhí)行文件
- 環(huán)境變量 Path 中保存的路徑下的可執(zhí)行文件(包括系統(tǒng)變量和用戶變量)
舉個(gè)例子
舉個(gè)栗子:
win + r 大家都用過(guò)吧,經(jīng)常用來(lái)快速運(yùn)行某些程序,比如打開(kāi)命令行窗口我們就會(huì)用到:
那電腦是怎么知道 cmd 在哪兒的呢?
能看到 cmd.exe 是在 C:\Windows\System32\ 和 C:\Windows\SysWOW64\ 這兩個(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)境變量的地方,不行的話只能在計(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:\0ArtinD\cmder,這是一個(gè)路徑。
然后我想打開(kāi)該路徑,就可以使用該字段名啦:
簡(jiǎn)單來(lái)說(shuō)!就是編程中的變量名。定義一個(gè)常量,想用的時(shí)候可以使用。
用戶變量和系統(tǒng)變量
操作系統(tǒng)中有用戶的概念。
用戶變量只對(duì)當(dāng)前登錄的用戶生效。
系統(tǒng)變量對(duì)當(dāng)前計(jì)算機(jī)的所有用戶生效。
以上就是為什么Java開(kāi)發(fā)需要配置環(huán)境變量的詳細(xì)內(nèi)容,更多關(guān)于Java 環(huán)境變量的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Java配置JDK開(kāi)發(fā)環(huán)境及環(huán)境變量
- Win10 Java jdk14.0.2安裝及環(huán)境變量配置詳細(xì)教程
- Windows10 Java環(huán)境變量配置過(guò)程圖解
- Java配置win10環(huán)境變量過(guò)程圖解
- win10下配置java環(huán)境變量的方法
- 詳解關(guān)于Windows10 Java環(huán)境變量配置問(wèn)題的解決辦法
- windows下zookeeper配置java環(huán)境變量的方法
- 詳解Java環(huán)境變量配置方法(Windows)
- linux系統(tǒng) java環(huán)境變量的配置方法
- 批處理一鍵安裝JDK/一鍵安裝JRE和自動(dòng)配置Java環(huán)境變量
相關(guān)文章
已有的springcloud+mybatis項(xiàng)目升級(jí)為mybatis-plus的方法
這篇文章主要介紹了已有的springcloud+mybatis項(xiàng)目升級(jí)為mybatis-plus,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03淺談Java中浮點(diǎn)型數(shù)據(jù)保留兩位小數(shù)的四種方法
今天在進(jìn)行開(kāi)發(fā)的過(guò)程中遇到了一個(gè)小問(wèn)題,是關(guān)于如何將double類型的數(shù)據(jù)保留兩位小數(shù)。具有一定的參考價(jià)值,本文就詳細(xì)的介紹一下2021-09-09MybatisPlus使用@TableId主鍵id自增長(zhǎng)無(wú)效的解決
本文主要介紹了MybatisPlus使用@TableId主鍵id自增長(zhǎng)無(wú)效的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04java中@JSONField和@JsonProperty注解的使用說(shuō)明及對(duì)比
@JSONField與@JsonProperty隸屬兩個(gè)不同的包,前者是阿里系的fastjson包,后者是spring?boot官方使用的jackson包,本文主要介紹了java中@JSONField和@JsonProperty注解的使用說(shuō)明及對(duì)比,感興趣的可以了解一下2023-11-11Java8默認(rèn)方法Default Methods原理及實(shí)例詳解
這篇文章主要介紹了Java8默認(rèn)方法Default Methods原理及實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01Java數(shù)據(jù)類型Integer與int的區(qū)別詳細(xì)解析
這篇文章主要介紹了Java數(shù)據(jù)類型Integer與int的區(qū)別詳細(xì)解析,Ingeter是int的包裝類,int的初值為0,Ingeter的初值為null,int和integer(無(wú)論new否)比,都為true,因?yàn)闀?huì)把Integer自動(dòng)拆箱為int再去比,需要的朋友可以參考下2023-12-12MyBatis-Plus使用ActiveRecord(AR)實(shí)現(xiàn)CRUD
本文將結(jié)合實(shí)例代碼,介紹MyBatis-Plus使用ActiveRecord(AR)實(shí)現(xiàn)CRUD,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07Springboot 如何實(shí)現(xiàn)filter攔截token驗(yàn)證和跨域
這篇文章主要介紹了Springboot 如何實(shí)現(xiàn)filter攔截token驗(yàn)證和跨域操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08MyBatis Example And與Or混合使用的實(shí)例
這篇文章主要介紹了MyBatis Example And與Or混合使用的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12