JavaSE入門學習4:搭建Java開發環境(二)
在上一篇的博文JavaSE入門學習3:搭建Java開發環境(一)中說到我們配置了Path變數的一種方式,再來說說第
二種配置方式,這種配置方式是必須掌握的。
path環境變數配置方式2
我們為什麼要將第二種配置形式呢?那第一種的配置方式有什麼缺點嗎?假設我的電腦上安裝了兩個JDK,一
個是1.7,一個1.8,我剛才配置的是1.8的,那麼我需要配置1.7,需要重新設定Path環境變數,有可能在修改Path環
境變數的同時誤刪其它的東西,所以不建議使用第一種。
path環境變數的參照形配置方式的步驟:
a)重新開啟系統內容變數Path,將第一種配置的路徑刪除。
b)建立新的環境變數名稱:JAVA_HOME;為JAVA_HOME添加變數值:JDK安裝目錄,我的也就
是:E:\Java\develop\jdk1.8.0_25
c)將path環境變數中JDK目錄修改為:%JAVA_HOME%\bin;(%路徑名稱%相當於引用路徑名稱)
d)重新啟動DOS,再次使用javac編譯Java源檔案和java運行位元組碼檔案。
這種方式我們在使用其它的JDK時,可以只修改JAVA_HOME變數,不修改Path變數,這樣不會誤刪其他的東西
造成一些其它程式無法運行。
我們再來看一個在Java程式啟動並執行過程中出現的問題,下面的運行結果就是很好的樣本,這就需要用到了另一個
系統變數classpath的配置。
classpath環境變數的配置
我們為什麼要配置classpath環境變數?classpath環境變數的作用是什嗎?
我們在將來的Java程式開發中,只需要位元組碼檔案,假設我們在其它的目錄下運行位元組碼檔案,結果是和上面的
一樣的,是無法運行。因此上面配置的path環境變數只能在一起使用,如果要實現位元組碼檔案在任意的目錄下運行,
就需要配置classpath環境變數。因此它的作用是:使classpath目錄中的.class檔案可以在任意目錄運行。
classpath環境變數配置方式
a)建立新的變數名稱:classpath
b)變數值:設定為指定的含有class檔案的目錄,多個目錄間使用分號(;)分割。我指定的目錄是:E:\Java\JavaSE\Code;
c)重新啟動DOS,使用java運行位元組碼檔案。
d)我們在案頭重新編輯一個Java源檔案,要求輸出:你好,世界,儲存的名稱還是HelloWorld.java,繼續編譯和
運行。
e)上面遇到的問題是我們配置的classpath環境變數只是包含了E:\Java\JavaSE\Code這個目錄下的位元組碼檔案,
因此解決的方法是:通常將配置的目錄最前面添加.;配置,即便目前的目錄,使.class檔案搜尋時首先搜尋目前的目錄,然
後根據目錄配置的順序依次尋找,找到後即運行,因此classpath目錄中的配置存在先後順序。
f)重新啟動DOS,再次運行案頭上的位元組碼檔案。
我們在網上找到的配置classpath的值可能各不相同,不過其中包含最多的就是下面的三個Java類庫檔案:rt.jar是
JAVA基礎類庫,dt.jar是關於運行環境的類庫,tools.jar是工具類庫。我們來看看這些類庫。
1)rt.jar預設就根classloader的載入路徑裡面放在claspath是多此一舉不信你可以去classpath裡面的rt.jar然後用
java -verbose XXXX 的方式運行一個簡單的類 就知道JVM的系統根Loader的路徑裡面不光rt.jar, jre\lib下面的大部分
jar都在這個路徑裡。
2)tools.jar是系統用來編譯一個類的時候用到的 也就是javac的時候用到javac XXX.java。實際上就是運行java -
calsspath=%JAVA_HOME%\lib\tools.jar xx.xxx.Main XXX.javajavac就是對上面命令的封裝 所以tools.jar 也不用加到
classpath裡面。
3)dt.jar是關於運行環境的類庫,主要是swing的包你要用到swing時最好加上。
因此,最後配置的classpath環境變數的值是:.;E:\Java\JavaSE\Code;%JAVA_HOME%\lib\dt.jar;
path和classpath的區別
path環境變數裡面記錄的是可執行性檔案,如.exe檔案,對可執行檔先在當前路徑去找,如果沒找到就去path
環境變數中配置的路徑去找
classpath環境變數裡記錄的是java類的運行檔案所在的目錄。
java -version 檢測JDK版本:
關於搭建Java開發環境的配置就到這裡。