為什么Java開發(fā)需要配置環(huán)境變量
之前學(xué)習(xí) Java 的時候,感覺最難做的一件事情就是配置 jdk 的環(huán)境。那叫一個困難啊,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 下的其實差不多。
為什么需要環(huán)境變量
我記得計算機網(wǎng)絡(luò)的老師在給我們講 ip/mac 地址 的時候提過一個例子:
你剛到這個班,班里都是新同學(xué),你想找班里的小明同學(xué)該怎么辦?答:在班里喊一聲小明。這當然可以,小明肯定會響應(yīng)你。對局域網(wǎng)來說也是如此。但是,如果有一張座位表,上面有每個同學(xué)的座位信息,你想找到某個人是不是就很簡單了。
環(huán)境變量也是如此,也很適合這個例子。當用戶在 cmd 中執(zhí)行一個命令的時候,命令行的解釋器就會去找你要執(zhí)行的命令。那么是去哪里找可執(zhí)行的命令呢?兩個地方:
當前路徑下的可執(zhí)行文件 環(huán)境變量 Path 中保存的路徑下的可執(zhí)行文件(包括系統(tǒng)變量和用戶變量)舉個例子
舉個栗子:win + r 大家都用過吧,經(jīng)常用來快速運行某些程序,比如打開命令行窗口我們就會用到:
那電腦是怎么知道 cmd 在哪兒的呢?
能看到 cmd.exe 是在 C:WindowsSystem32 和 C:WindowsSysWOW64 這兩個路徑下都有的,那就是說,電腦是去這兩個路徑之一打開的 cmd.exe,那我們來看一下,系統(tǒng)環(huán)境變量里到底有沒有這兩個路徑的其中一個呢?
查看一下系統(tǒng)的環(huán)境變量中的 Path 是不是有這個路徑:在小娜的輸入框里輸入 path 或者 環(huán)境 可以直接跳轉(zhuǎn)到修改環(huán)境變量的地方,不行的話只能在計算機圖標右鍵屬性了。
可以驗證了吧~
所以這個流程我們也弄清楚了:
你在運行窗口輸入 cmd:-> 解釋器去尋找這個文件:-> 先尋找當前路徑下是否有-> 再尋找環(huán)境變量中的Path保存的路徑是否有-> 沒找到就報沒找到
所以如果你沒配置某個可執(zhí)行文件到 Path 里,那你就得手動輸入該文件的絕對路徑才能打開了。比如說 Java…
Path 外的其他字段
其他的一些字段也是方便我們使用的,想用的時候使用 %字段名% 就能調(diào)用了。比如說我在系統(tǒng)設(shè)置里設(shè)置了 CMDER_ROOT 字段,將其賦值為 D:0ArtinDcmder,這是一個路徑。
然后我想打開該路徑,就可以使用該字段名啦:
簡單來說!就是編程中的變量名。定義一個常量,想用的時候可以使用。
用戶變量和系統(tǒng)變量
操作系統(tǒng)中有用戶的概念。用戶變量只對當前登錄的用戶生效。系統(tǒng)變量對當前計算機的所有用戶生效。
以上就是為什么Java開發(fā)需要配置環(huán)境變量的詳細內(nèi)容,更多關(guān)于Java 環(huán)境變量的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 淺談SpringMVC jsp前臺獲取參數(shù)的方式 EL表達式2. 關(guān)于Ajax跨域問題及解決方案詳析3. jsp+servlet簡單實現(xiàn)上傳文件功能(保存目錄改進)4. 刪除docker里建立容器的操作方法5. JavaScript實現(xiàn)組件化和模塊化方法詳解6. .Net Core和RabbitMQ限制循環(huán)消費的方法7. ASP.NET MVC遍歷驗證ModelState的錯誤信息8. SpringMVC+Jquery實現(xiàn)Ajax功能9. jsp網(wǎng)頁實現(xiàn)貪吃蛇小游戲10. ASP中if語句、select 、while循環(huán)的使用方法
