Java Development Kit (JDK): Java 語言的軟件開發工具包,開發Java程序最基本的工具包.
下載安裝JDK
下載頁面http://www.oracle.com/technetwork/java/javase/downloads/index.html
注意:JDK和java EE sdk是不同的,不要混淆。
JDK安裝目錄(路徑用戶自決定):D:\Program Files\Java\jdk1.x.x
JDK的環境變量的設置只須要兩個環境變量:一個是(Windows操做系統環境變量)Path,另外一個是:classpath
爲何要設置這兩個環境變量?
JAVA程序要最終執行, 除了寫代碼外, 須要通過編譯和執行兩個步驟.編譯和執行分別對應JDK中提供的javac.exe和java.exe兩個命令(可在Dos命令行下運行).
設置Path變量是爲了讓操做系統找到指定的Java工具程序(以Windows來講就是找到javac.exe和java.exe等命令文件).
因此若是不想在DOS下手工運行Java或Javac,能夠不設置Path環境變量。或者若是沒有設置path環境變量,就須要每次都輸入java.exe全路徑名來執行它(相似D:\Program Files\Java\jdk1.x.x\java ...)。html
javac的做用是將程序員寫的Java代碼(.java)文件編譯成字節碼(.class)文件。這個.class文件再由java.exe命令執行.
在DOS下輸入java -version回車,若是顯示JDK的版本信息則Path變量設置成功。java
爲何要配置classpath變量?
配置classpath變量,才能使得java解釋器知道到哪裏去找須要的類文件(包括要執行的類, 引用的標準類庫和用戶自定義類).標準類庫是別人已經寫好了的,咱們只管使用。好比咱們經常使用到java.lang包中的類,在配置classpath變量後被設爲默認導入,因此在寫程序時就不用import這個包了。那麼這些標準類庫在哪呢?在以JDK的lib目錄下以jar爲後綴的文件中:一個是dt.jar,一個是tools.jar,這兩個jar包都位於%JAVA_HOME%/jdk1.x.x/lib目錄下(%JAVA_HOME%表明java安裝目錄),因此一般咱們會把這兩個jar包加到咱們的classpath環境變量的值爲:.; C:\Program Files\Java\jdk1.x.x\lib\tools.jar; C:\Program Files\Java\jdk1.x.x\lib\dt.jar;(注意,CLASSPATH最前面是有個 「.」的,表示當前目錄。程序員
(jar文件是zip壓縮格式,其中包括若干.class文件),每一路徑中間必須以;做爲分隔。 事實上JDK 5.0之後默認就會到當前工做目錄(上面的.設置),以及JDK的lib目錄(這裏假設是C:\Program Files\Java\jdk1.x.x\lib)中尋找Java程序。因此若是Java程序是在這兩個目錄中,則沒必要設置Classpath變量也能夠找獲得.
若是不設置 classpath環境變量,又不想在命令行切換到類所在的目錄, 則須要用到java命令的-classpath參數.例:
java -classpath F:\sendip\bin;F:\sendip\lib\java_mail.jar com.wzr.SendIp
F:\sendip\bin爲執行類所在目錄;
F:\sendip\lib\java_mail.jar爲引用包所在目錄;
com.wzr爲執行類所在的包名, SendIp爲(包含main函數的)類名.windows
*****
若是有2個jar中間還能夠用分號(;)分隔,若是有10個jar呢,都寫上太麻煩了。這時可使用java的D參數用-Djava.ext.dirs=路徑這種方式來解決
和上例相似,事先把第三方類庫都放到lib下
java -classpath F:\sendip\bin -Djava.ext.dirs=F:\sendip\lib\ com.wzr.SendIporacle
Path的值設置爲你的JDK安裝目錄的bin目錄的路徑.做用是讓操做系統能找到java.exe和javac.exe等執行程序.
Path:(加入bin路徑)D:\Program Files\Java\jdk1.6.0_43\bin
classpath的值則爲JDK安裝目錄下的jre目錄下的lib文件夾的路徑。做用是當執行類文件時告訴操做系統去哪找類文件.
classpath:(前面必定要加個點--意思是包括當前目錄).;D:\Program Files\Java\jdk1.6.0_43\jre\lib
作個HelloWorld.java文件測試一下函數
public class HelloWorld{ public static void main (String[] args) { System.out.println("Hello World!"); } }
命令行編譯運行:
javac HelloWorld.java
java HelloWorld
輸出「Hello World!」就說明JDK安裝成功了。
附:
工具
Java執行環境自己就是一個平臺,執行於這個平臺上的程序是已編譯完成的Java程序(Java程序編譯完成以後,會以.class文件存在)。若是將Java執行環境比喻爲操做系統,則設置Classpath的目的就是讓Java執行環境找到指定的Java程序(也就是.class文件)。開發工具
若是所使用的JDK工具程序具備Classpath命令選項,則能夠在執行工具程序時一併指定Classpath。例如:測試
javac -classpath classpath1;classpath2...其中classpath一、classpath 2是實際要指定的路徑。也能夠在命令符模式下執行如下的命令,直接設置環境變量,包括Classpath變量(這個設置在下次從新打開命令符模式時就再也不有效):spa
set CLASSPATH=%CLASSPATH%;classpath1;classpath2...總而言之,設置Classpath的目的,在於告訴Java執行環境,在哪些目錄下能夠找到您所要執行的Java程序(.class文件)。
關於環境變量classpath與class_path的區別
java先找classpath,可是若是找不到的話他會看系統的環境變量class_path
lib\rt.jar 是JDK的核心庫
附:
PATH and CLASSPATH
http://docs.oracle.com/javase/tutorial/essential/environment/paths.html
Setting the class path
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/classpath.html
Classpath (Java)
http://en.wikipedia.org/wiki/Classpath_(Java)