集成開發環境(比如Eclipse)給開發者太多的便利了,以至於初學者都不知道程序是如何從源碼生成可執行文件的。對於環境變量的認識也是如此,只知道要在一台新電腦上開發java,安裝JDK后的第一步是配置環境變量。至於為何要配置,或許並非有個確定的認識。懷着大概就是那個意思的糊塗心態,就過去了。
首先是環境變量。引用百度百科的定義:
環境變量,是在操作系統中一個具有特定名字的對象,它包含了一個或者多個應用程序所將使用到的信息。例如Windows和DOS操作系統中的path環境變量,當要求系統運行一個程序而沒有告訴它程序所在的完整路徑時,系統除了在當前目錄下面尋找此程序外,還應到path中指定的路徑去找。用戶通過設置環境變量,來更好的運行進程。
視窗操作讓我們對這個概念認識的不清,可以這樣認為,視窗操作封裝了命令,與命令行一樣都是給操作系統一個指令。因此當你在某個目錄下,執行javac命令時候,他首先是要從當前目錄找javac的執行文件,或許是個javac.jar或者是個javac.exe。如果找不到,則去操作系統設置的環境變量中去找,再找不到,就說沒有這個指令。環境變量就是干這個活的。明白了環境變量這個概念后面的內容就好理解了。
其次是JAVA_HOME。就是指java安裝目錄。這算是一個規定了,以后不管是oracle、tomcat或者其他需要用jdk、jrm的軟件,都是直接去找操作系統中這個環境變量。或許你就是最先使用到這個環境變量的,比如你設置path的時候是“;%JAVA_HOME%\bin”,來代替“C:\Program Files (x86)\Java\bin”。“%JAVA_HOME%”就是使用了JAVA_HOME環境變量。
第三是PATH環境變量。作用是指定java命令搜索路徑。我們需要把 jdk安裝目錄下的bin目錄增加到現有的PATH變量中,bin目錄中包含經常要用到的可執行文件如javac、java、javaw等,設置好 PATH變量后,就可以在任何目錄下執行javac/java等工具了。如果不進行設置,那你就只能先進入到這個目錄下,才能使用那些命令了(當然也非未嘗不可)。
最后是CLASSPATH環境變量。他告訴Java執行環境,在哪些目錄下可以找到您所要執行的Java程序所需要的類或者包。通俗的說它的作用與import、package關鍵字有關,我們寫的java源碼中,當然會包含別人提供的工具類,比如當你寫下improt java.util.*時,編譯器面對import關鍵字時,就需要知道你要引入java.util這個package中的類到底在哪里。與上面的一樣,如果不告訴,他就默認在當前目錄下,而如何告訴它呢?就是設置CLASSPATH。
