XP下如何為JDK配置環境變數

來源:互聯網
上載者:User

① PATH的困惑?

先安裝JDK,譬如安裝在如下路徑:

然後就可以配置環境變數了:

右擊我的電腦--->屬性--->進階--->環境變數--->單擊使用者變數的建立--->

變數名PATH變數值為jdk下bin目錄的整個路徑。然後點擊確定--->確定--->確定。

我們在C盤下寫一個簡單的java程式測試一下:

public class Hello{public static void main(String[] args){System.out.println("Hello World...");}}

在cmd中編譯運行:

大功告成!

注意:

建立環境變數時有兩種選擇:使用者變數和系統變數。使用者變數用於設定目前使用者的環境變數,而系統變數用於設定整個系統的環境變數。

如果僅僅安裝了JDK,卻沒有配置環境變數的話,我們到cmd中使用java或javac命令時,會出現錯誤。這是因為:雖然我們已經在電腦中安裝了JDK,JDK的路徑下也包含了java和javac這兩個命令,但是電腦不知道到哪裡去尋找這兩個命令。

電腦如何尋找命令呢?

windows作業系統根據Path環境變數來尋找命令。Path環境變數的值是一系列路徑,windows作業系統將在這一系列的路徑中依次尋找命令,如果能找到這個命令,則該命令是可執行檔。否則將出現“‘xxx’不是內部或外部命令,也不是可啟動並執行程式或批次檔”的提示。windows作業系統不區分大小寫,設定Path和PATH並沒有區別。

② JAVA_HOME的困惑?

初學Java時一般的書籍都會介紹還需要配置一個 JAVA_HOME 環境變數,但是上面我們只配置了一個PATH環境變數,並且經過測試已經可以編譯運行程式了,這到底是為什麼 呢?

其實是這樣的:JAVA_HOME相當於一個變數,以我的安裝目錄而言,JAVA_HOME應該取值 E:\Java\jdk1.6.0_12,然後配置PATH環境變數時就可以寫成%JAVA_HOME%\bin,%JAVA_HOME%就相當於E:\Java\jdk1.6.0_12。其實你不叫JAVA_HOME,你叫JAVA_FAMILY,也沒有問題,只是在配置PATH時就寫%JAVA_FAMILY%\bin,明白了吧?那為什麼要有JAVA_HOME呢?我直接寫全路徑不就行了嗎?對的,確實可以!之所以有JAVA_HOME,有三個原因:

① 如果你的JDK的安裝路徑比較深的話,你配置PATH時寫全路徑就很麻煩,很長,雖然應該拷貝,但是很長的話看起來很不舒服。

② 萬一哪天你的JDK路徑被移動了的話,你的程式就跑不起來了。此時你需要修改環境變數,你只需要修改JAVA_HOME的路徑為新路徑即可,那些引用JAVA_HOME的環境變數根本不需要修改。如果你配置時不使用JAVA_HOME,那麼此時你需要修改的就不止一處,很容易出錯。

③ 最後一個原因,也可能是最重要的原因。你在後來學習JavaWeb開發時,很可能會安裝Tomcat,安裝完Tomcat後想要使用的話,必須先配置JAVA_HOME環境變數,注意此時名字不可更改,因為Tomcat這個軟體預設就尋找JAVA_HOME這個名字。

③ CLASSPATH的困惑?

幾乎每一本介紹Java入門的圖書都會介紹 CLASSPATH 環境變數的設定,但對於CLASSPATH的作用卻常常語焉不詳。

實際上,如果使用1.5以上版本的JDK,完全可以不用設定CLASSPATH------正如上面的測試程式所展現的,即使不設定CLASSPATH,程式一樣可以編譯運行通過,沒有任何問題。那麼CLASSPATH的作用是什麼呢?當使用“java Java類名”命令來運行Java程式時,JRE到哪裡去搜尋Java類呢?答案是當前路徑下,沒錯,就是這個答案。但是,1.4以前版本的JDK沒有設計這個功能,這意味著即使當前路徑已經包含了Hello.class,並在當前路徑下執行“java
Hello”,系統將一樣提示找不到Hello類。

如果使用1.4以前版本的JDK,就需要配置CLASSPATH環境變數,添加一點(.)告訴JRE需要在當前路徑下搜尋Java類。除此之外,編譯和運行Java程式還需要JDK的lib路徑下的dt.jar和tools.jar檔案中的Java類,因此還需要把這兩個檔案添加到CLASSPATH環境變數裡。因此如果使用1.4以前版本的JDK來編譯和運行Java程式,則需要設定CLASSPATH的值為:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

後來的JRE會自動搜尋當前路徑下的類檔案,而且使用Java的編譯和運行工具時,系統可以自動載入dt.jar和tools.jar檔案中的Java類,因此不再需要設定CLASSPATH。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.