Java配置環境變量及其意義

        在學習Java的過程當中,涉及到多個環境變量(environment variable)的概念,如PATH。正確地配置這些環境變量是可以順利學習、開發的前提。而常常出現的問題是:有的學習者可以按照提示一步一步地正確配置,但時間一長就忘了,出現了問題也無從下手。究其緣由,就是對這些概念沒有理解,知其然但不知其因此然。下面的內容,就是幫助你們知其因此然。java

1、基本原理

1.引例

未設置環境變量,只有在jdk中的bin目錄下才能夠運行java命令。windows

        安裝JDK以後,若是不配置PATH環境變量,沒法編譯和運行Java程序。tomcat

        在命令行直接輸入"java -version",會出現錯誤提示信息:「 'java'不是內部或外部命令,也不是可運行程序或批處理文件 」編輯器

        這條錯誤信息的意思是:你要求運行的「java」這條命令我不認識,不知道是個什麼玩意兒。工具

        那當咱們打開JDK的安裝目錄下bin目錄,在此目錄下運行」dir「命令顯示該目錄下所有文件,便可發現java.exe學習

        該目錄下再次運行"java -version",命令運行成功並顯示java版本信息。spa

2.問題提出

只有寫出java.exe的完整路徑才能運行java命令?操作系統

        與java命令相似,javac命令目前也能在bin目錄下執行,但到其餘目錄下就只能寫出其完整路徑了。在學習Java的過程當中,咱們常常須要使用javac和java這兩條命令來編譯、運行咱們的JAVA程序。難道咱們每次運行這兩條命令都要先切換到bin目錄下嗎或寫出一長串的絕對路徑嗎?能不能有一個辦法,讓咱們可以在任何目錄下都能自如地運行這些命令呢?命令行

3.解決方法

解決的辦法就在於PATH環境變量。設計

        PATH是路徑的意思,PATH環境變量中存放的值,就是一連串的路徑。不一樣的路徑之間,用英文的分號(;)分隔開。系統執行用戶命令時,若用戶未給出絕對路徑,則首先在當前目錄下尋找相應的可執行文件、批處理文件(另一種能夠執行的文件)等。若找不到,再依次在PATH保存的這些路徑中尋找相應的可執行的程序文件。系統就以第一次找到的爲準;若搜尋完PATH保存的全部路徑都未找到,則會顯示相似前面的錯誤信息。

4.設置PATH

1) 經過命令行設置

set命令設置環境變量格式:set 環境變量名 = 環境變量值

set PATH = D:\Java\jdk1.8.0_101\bin

注意:這樣會使PATH只有」D:\Java\jdk1.8.0_101\bin「,其餘的值就會被覆蓋

所以,咱們應該把值「D:\Java\jdk1.8.0_101\bin」追加到PATH中

set PATH = %PATH%;D:\Java\jdk1.8.0_101\bin

把PATH放在兩個百分號之間,指把PATH原有的值取出。其後的分號表示分隔不一樣的路徑值,以後纔是咱們要添加的值。

注意:這種使用set命令的方式設置的環境變量只對當前命令行窗口有效。一旦關閉此窗口,再次運行另外一個命令行窗口時,PATH環境變量仍是原來的值。 所以,咱們必須在Windows下修改PATH環境變量。

2) 經過「屬性」添加

右鍵點擊」個人電腦「,依次選擇進入」屬性「->」高級系統設置「->」環境變量「,編輯PATH值,添加;D:\Java\jdk1.8.0_101\bin

//注意分號

;D:\Java\jdk1.8.0_101\bin

點擊肯定,添加成功

2、名詞釋義

        咱們如今啓動一個命令行窗口,按上述的方法把PATH的值所有清除,而後再運行dir、cd等命令。出乎咱們意料的是,它們仍然可以正確執行。這又是什麼緣由呢?

        報告錯誤的信息提到了內部命令、外部命令和批處理文件,那什麼使外部命令和內部命令呢?

內部命令和外部命令

        內部命令和外部命令是DOS(disk operating system,微軟早期基於命令行的操做系統)時代的概念,百度百科的解釋是:內部命令是隨每次啓動的COMMAND_COM裝入並常駐內存,而外部命令是一條單獨的可執行文件。粗略地講,所謂內部命令就是最核心、使用最多的命令。爲了提升響應速度,系統一啓動,這些命令就被加載到內存,所以能夠迅速、直接地執行;而外部命令因爲使用相對較少,就不預先加載到內存,當用戶使用時,再到硬盤上(c:\windows\system32)找相應的可執行文件,而後加載到內存執行。像dir、cd等都是內部命令,而諸如attrib、format等都是外部命令。儘管DOS的時代早已成爲了歷史,但某些操做卻必須在命令行模式下完成,對專業人士來講更是如此。所以,Windows產品一直保留着命令行模式這個工具。

批處理文件

        另一個概念就是批處理文件(後綴名爲.bat,來源於批量的英語單詞batch),它是另一種能夠執行的文件。簡單地說,批處理文件包含了不少DOS命令。文件執行時,就一條一條地執行這些命令。不必定順序執行,像通用的程序設計語言同樣,它也有本身的流程控制。批處理文件建立很簡單:用任何一個文本編輯器(如Windows的記事本)建立一個文本文件,而後把後綴名改成.bat便可。建立好的批處理文件,你也能夠用文本編輯器打開,查看它的源代碼。

3、CATALINA_HOME環境變量

博主未執行此操做,但有助於對環境變量加深理解

        Tomcat是一個免費開源的Servlet/JSP容器,深受廣大Java初學者喜好。這其中須要設置CATALINA_HOME環境變量,值爲tomcat安裝目錄(個人是d:\tomcat7),不然會出現錯誤信息:沒有正確設置CATALINA_HOME環境變量,而此變量是運行Tomcat所必須的。

        而當你不理會這個信息,在命令行窗口把當前目錄切換到tomcat安裝目錄下的bin目錄下,再執行批處理文件startup.bat來啓動tomcat時,發現也能夠成功。難道如今不須要CATALINA_HOME環境變量了嗎?

        實際上,在startup.bat中,首先判斷CATALINA_HOME是否爲空。若爲空,就把當前目錄設爲CATALINA_HOME的值。而後查找CATALINA_HOME所指示的目錄下是否有個bin目錄,此bin目錄下是否有個叫作catalina.bat的批處理文件(此文件負責啓動tomcat)。若沒有,則把當前目錄的父目錄設爲CATALINA_HOME的值,再重複上述的查找。若仍失敗,就報錯。

        所以,當你在tomcat安裝目錄下的bin目錄下運行startup.bat文件時,它就會按照上面所說的第二種方式自動正確設置CATALINA_HOME的值,由於catalina.bat文件就在tomcat安裝目錄下的bin目錄裏。

        雖然在此種狀況下能正確運行,但仍是建議你正確設置CATALINA_HOME環境變量。與PATH不一樣的是,PATH系統自己就有,而CATALINA_HOME須要你本身新建環境變量。

        爲了可以在任何目錄下都能運行tomcat安裝目錄下bin目錄裏的批處理文件,如startup.bat,可把此目錄添加到PATH環境變量中(個人是d:\tomcat7\bin)。

        爲了提升靈活性,可在PATH環境變量的最後添加上%catalina_home%\bin(與前一個值之間不要忘了用英文的分號隔開)。把catalina_home放置在兩個百分號之間,表示引用這個環境變量的值(配置Java中JAVA_HOME環境變量同理)。這樣,當你把tomcat的安裝目錄換了之後,就只須要修改catalina_home的值,而不須要修改PATH的值了,由於它能夠自動計算出新的正確值

(適用於tomcat6/7)

 

———————————————————————————————————————————————

Java環境變量配置

    1) 需配置3個環境變量

變量名:JAVA_HOME
變量值:C:\Program Files\Java\jdk1.8.0_101
變量名:CLASSPATH
變量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
變量名:PATH
變量值:%JAVA_HOME%\bin

    2) 意義

  • JAVA_HOME:指明JDK的安裝路徑
  • CLASSPATH:指明Java虛擬機要裝載類的路徑
  • PATH:指明系統能夠在任何路徑下識別Java命令
相關文章
相關標籤/搜索