官术网_书友最值得收藏!

1.4.4 配置環(huán)境變量

從JDK 5開始,安裝程序會自動將JDK的有關信息寫入操作系統(tǒng)(如Windows的注冊表),特別是采用了IDE[6]后,配置環(huán)境變量已不再是必須的操作。盡管如此,初學者仍需理解JDK環(huán)境變量配置的目的及具體方法。很多Java程序,特別是那些用到了第三方類庫的程序能否成功運行往往與環(huán)境變量有著密切的關系。在講解環(huán)境變量的配置之前,有必要先知道環(huán)境變量的作用是什么,下面通過一個試驗來說明。

打開命令窗口(Win + R → 輸入cmd并回車),其當前工作路徑(“>”左側的路徑)為C:\Users\xxx,這是命令行窗口被打開時的默認工作路徑,其中的xxx是系統(tǒng)當前登錄的用戶名。接著,在命令行窗口輸入calc(Windows自帶的計算器程序,對應文件為C:\WINDOWS\System32\calc.exe)并回車,如圖1-8所示。

圖1-8 默認路徑下輸入calc

不難發(fā)現,盡管路徑C:\Users\xxx下并沒有名為calc.exe的程序,但命令行仍然成功打開了計算器程序,這是為什么呢?現在打開環(huán)境變量對話框(Win + R → 輸入sysdm.cpl并回車 → 高級 → 環(huán)境變量),在對話框下部的系統(tǒng)變量中找到名為Path的項并雙擊,彈出對話框如圖1-9所示。

圖1-9 Path環(huán)境變量

Path環(huán)境變量包含了多個路徑,其中一個為“%SystemRoot%\System32 ”,此處的“%SystemRoot%”表示引用名為SystemRoot的環(huán)境變量的值,該變量在系統(tǒng)注冊表中定義,其值為Windows的安裝根目錄——C:\Windows。因,此“%SystemRoot%\System32”等同于C:\Windows\System32,而這正是calc.exe所在的位置。

當在命令行窗口輸入一個非內部命令并回車后,系統(tǒng)會依次在Path環(huán)境變量中指定的各個路徑中尋找該命令(首先在當前工作路徑下尋找),若找到則執(zhí)行該命令,否則報錯。

現在刪除圖1-9中的“%SystemRoot%\System32”[7],并單擊兩次確定直至回到系統(tǒng)屬性對話框,然后重復之前圖1-8所示的操作(注意要關閉并重新打開命令行窗口,否則無效)。如圖1-10所示,盡管工作路徑以及輸入命令與之前一樣,但由于此時已將calc.exe所在的路徑從Path環(huán)境變量中刪除,故而報錯。

圖1-10 默認路徑下輸入calc(修改了Path環(huán)境變量之后)

通過上述試驗不難看出,將某個路徑(假設為P)添加到Path環(huán)境變量的作用在于能夠在命令行的任何工作路徑下執(zhí)行P路徑下的程序,而不用先將工作路徑切換到P。

JDK的配置涉及2個環(huán)境變量——Path和Classpath。

1. 配置Path

類似地,為了能夠在命令行的任何工作路徑下執(zhí)行表1-4中的命令,需要將這些命令所在的bin目錄的完整路徑添加到Path環(huán)境變量中,如圖1-11所示。

圖1-11 在Path環(huán)境變量中添加bin目錄的完整路徑

說明:

(1)若Path環(huán)境變量不存在,可自行新建。

(2)添加的是“JDK安裝目錄\bin”而不是“JDK安裝目錄\jre\bin”。

(3)因路徑較長,為避免出錯,可通過對話框右側的瀏覽按鈕來選擇bin目錄。

(4)可以將bin路徑添加到Path的任何位置。

單擊兩次確定并重新打開命令行窗口,輸入“java -version”并回車,若配置成功則出現圖1-12所示的界面,以后便可以在命令行的任何工作路徑下執(zhí)行bin下的工具命令。

圖1-12 配置Path環(huán)境變量成功后的界面

2. 配置Classpath

在前述的環(huán)境變量對話框中單擊下部的新建按鈕,在彈出對話框的變量名中輸入Classpath,在變量值中輸入“. ; C:\Program Files\Java\jdk1.8.0_202\jre\lib\rt.jar”,如圖1-13所示。

圖1-13 新建Classpath環(huán)境變量

說明:

(1)因Windows不區(qū)分大小寫,故寫成Classpath、classpath或CLASSPATH均可,但要注意class與path之間沒有空格。

(2)變量值開頭的西文點號代表命令行的當前工作路徑,其后的西文分號作分隔用。

(3)要一直指定到rt.jar,而不只是該文件所在的路徑,這是初學者容易犯的錯誤之一。

(4)可以繼續(xù)添加所需的其他路徑或jar文件[8],彼此間以西文分號隔開即可。

(5)類似地,為避免出錯,可通過對話框下側的瀏覽目錄或瀏覽文件按鈕來選擇所需的目錄或jar文件。

關于Classpath環(huán)境變量的作用,將在1.5節(jié)中通過實例加以闡述。


[1]一些項目即便基于JDK 9或以上版本,但大多將項目編譯級別降到了8甚至7,而未用到所安裝JDK版本的任何新增特性。

[2]因網站更新,實際頁面內容可能與本書所述不一致,后同。

[3]盡管可以為JDK指定任意的安裝路徑,但考慮到今后在命令行中切換路徑方便起見,盡量不要指定過深的或含有中文字符的路徑。

[4]可見,盡管從JDK 1.5起,官方開始將次版本號提升為主版本號。然而,即使到了JDK 8,JDK的默認安裝目錄依然沿用了JDK 1.4時代的命名風格。

[5]默認為C:\Program Files\Java\jre1.8.0_202。

[6]IDE(Integrated Development Environment,集成化開發(fā)環(huán)境)是指整合了編輯、管理、編譯、運行、調試、發(fā)布等眾多功能的軟件開發(fā)工具。主流Java IDE包括Eclipse、MyEclipse、IDEA、NetBeans等。

[7]環(huán)境變量對話框上部的用戶變量中可能也有名為Path的變量,該變量可能也包含C:\Windows\System32,為成功演示,請將該路徑一并刪除。

[8]可以是JDK中的jar文件,也可以是第三方框架或庫的jar文件。

主站蜘蛛池模板: 垫江县| 神农架林区| 宁远县| 乃东县| 石首市| 乐都县| 方正县| 岳阳县| 靖西县| 潼关县| 临洮县| 景德镇市| 丰台区| 平潭县| 三河市| 新巴尔虎右旗| 龙口市| 探索| 富宁县| 岐山县| 离岛区| 普格县| 顺昌县| 安泽县| 宜良县| 莱州市| 盘山县| 当雄县| 平潭县| 贵州省| 晋中市| 苍梧县| 怀安县| 横山县| 敖汉旗| 西安市| 沂源县| 根河市| 湘阴县| 景东| 石门县|