jdk環境變量配置及配置緣由

windows下:java

一.設置環境變量windows

變量名:JAVA_HOMEapp

變量值:D:\Program Files\Java\jdk1.6.0  (即jdk安裝的位置)
 
變量名:Path  (這個變量名已在系統變量中存在,現只需在這個值的前面添加如下變量值就能夠了)
變量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre7\bin;
 
變量名:CLASSPATHjvm

變量值:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar (.;必定要設置上)工具

注意:若是使用1.5以上版本的JDK,徹底能夠不用設置CLASSPATH環境變量,也能夠正常編譯和運行 Java 程序,固然,即便使用JDK1.5以上版本,也能夠設置CLASSPATH環境變量,一量設置了該環境變量,JRE將會按該環境變量指定的路徑來搜索Java類。

二.設置環境變量的做用spa

1,設置JAVA_HOME: 
     (1).爲了方便引用,好比,你JDK安裝在C:\Program Files\Java\jdk1.6.0目錄裏,則設置JAVA_HOME爲該目錄路徑, 那麼之後你要使用這個路徑的時候, 只需輸入%JAVA_HOME%便可, 避免每次引用都輸入很長的路徑串; 
     (2).歸一原則, 當你JDK路徑被迫改變的時候, 你僅需更改JAVA_HOME的變量值便可, 不然,你就要更改任何用絕對路徑引用JDK目錄的文檔, 要是萬一你沒有改全, 某個程序找不到JDK, 後果是可想而知的----系統崩潰! 
     (3).第三方軟件會引用約定好的JAVA_HOME變量, 否則, 你將不能正常使用該軟件, 之後用JAVA久了就會知道, 要是某個軟件不能正常使用, 不妨想一想是否是這個問題.

ssl

2,設置CLASSPATH: 
    2.1基礎知識文檔

  講到CLASSPATH,咱們首先來看編寫java程序時一直在用的兩個命令javac和java。
javac的命令語法是這樣的:
       javac <選項> <源文件>
    咱們經常使用的狀況是這樣的:
        javac -classpath <類路徑>  <要編譯的java源文件>
    這裏的類路徑輸入什麼呢?這裏的類路徑是指要編譯的java源文件中所用的非java的基礎API中的類在那個目錄下,路徑能夠是多個目錄,用分號隔開來。編譯

好比說咱們要編譯App.java這個文件,而這個文件中用到了com.util這個包中的MyDate這個類,如今咱們假設MyDate這個類存在目錄是: d:\mylib\com\util\MyDate.class,那麼咱們如何編譯App這個類呢?咱們的命令以下:
    javac -classpath d:\mylib  App.java
    注意這裏的classpath的內容,咱們只是指定路徑到package所在目錄,並不能把package一塊兒指定進去,並且MyDate.class必須在com\util這個目錄 中,由於這個類定義了package爲com.util。好了如今你對javac中的classpath明白了嗎?class


    咱們再來看java這個命令,這個命令的語法是這樣的:
    java [選項] 類 [參數]
    好比說以上面的例子,咱們假設App這個類位於com.app這個package中,它的存放目錄是:d:\dev\myapp\com\app\App.class,那麼咱們該如何運 行這個類呢?命令以下:
    java -classpath d:\dev\myapp;d:\mylib com.app.App
    從命令中咱們能夠看到,在classpath後面咱們指定兩個目錄,分別是App這個類的package所在的目錄和MyDate這個類的package所在的目錄,這裏的 類路徑要給定的是要運行的類和這個類用到的全部類的package所在的目錄,多個目錄之間用分號隔離開來,最後指定要運行的類的時候必須加上 package。

     2.2  classpath變量中 各jar做用

1. rt.jar 默認就在 根classloader的加載路徑裏面 放在claspath是畫蛇添足(安裝外部JRE時就已經加載該classpath了),不信你能夠去掉classpath裏面的rt.jar,
     而後用 java -verbose XXXX 的方式運行一個簡單的類 就知道 JVM的系統根Loader的路徑裏面,不光rt.jar jre/lib下面的大部分jar都在這個路徑裏  


2. tools.jar裏面是最基本的工具類,好比javac,是系統用來編譯一個類的時候用到的.
      javac XXX.java 
       實際上就是運行 javac -Calsspath=%JAVA_HOME%/lib/tools.jar xx.xxx.Main XXX.java   
   
3. dt.jar是關於運行環境的類庫,主要是swing的包,若是不用Swing裏面的東西,能夠不加dt.jar

  

 總結

因此classpath 變量的含義是告訴jvm要使用或執行的class放在什麼路徑上,便於JVM加載class文件,.;表示當前路徑,tools.jar和dt.jar爲 類庫路徑。若是不用Swing裏面的東西,能夠不加dt.jar。 tools.jar裏面是最基本的工具類,例如javac

 

3 .設置PATH:     配置path變量做用就是爲了使系統在任何路徑下均可以識別java,javac命令 

相關文章
相關標籤/搜索