剛開始學習java的時候總是離不開java_home path classpath這幾個環境變量,每次安裝jdk都要上網上找一找環境變量的設置,但從來也沒有好好的想一想這幾個環境變量代表的什麼意思,所以就有了這篇java基礎文章。
java_home:一般指向jdk的安裝目錄,例如:JAVA_HOME=C:\Program Files\Java\jdk1.6.0; 基本上這個沒什麼用,唯一的好處是有了它之後可以用來設置path,classpath,以後更改jdk的安裝目錄後改這個環境變量就OK了。
path:一般指向bin目錄,例如:path=%JAVA_HOME%\bin;,要不然我們鍵入java,javac,操作系統不知道這是什麼命令,他的作用就是告訴系統,java.exe,javac.exe在哪兒。
classpath:一般是指向dt.jar,tool.jar,另外還可以加上自己的class路徑。例如classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tool.jar;
另外看到一些人的討論,挺好,貼過來,感謝各位
dt.jar和tools.jar是兩個java最基本的包,裏面包含了從java最重要的lang包到各種高級功能如可視化的swing包,是java必不可少的。
而path下面的bin裏面都是java的可執行的編譯器及其工具,如java,javadoc等,你在任意的文件夾下面運行cmd鍵入javac,系統就能自動召見java的編譯器就是歸功於這個環境變量的設置
rt.jar是JAVA基礎類庫,dt.jar是關於運行環境的類庫,tools.jar是工具類庫
設置在classpath裏是爲了讓你 import *
---------------------------------------------------------------
web系統都用到tool.jar
你用winrar看看裏面是什麼內容啦
---------------------------------------------------------------
1.
rt.jar 默認就在 根classloader的加載路徑裏面 放在claspath是多此一舉
不信你可以去掉classpath裏面的rt.jar
然後用 java -verbose XXXX 的方式運行一個簡單的類 就知道 JVM的系統根Loader的路徑裏面
不光rt.jar jre\lib下面的大部分jar 都在這個路徑裏
2.
tools.jar 是系統用來編譯一個類的時候用到的 也就是javac的時候用到
javac XXX.java
實際上就是運行
java -Calsspath=%JAVA_HOME%\lib\tools.jar xx.xxx.Main XXX.java
javac就是對上面命令的封裝 所以tools.jar 也不用加到classpath裏面
3.
dt.jar是關於運行環境的類庫,主要是swing的包 你要用到swing時最好加上
dt.jar好像是swing的一些什麼類,Eclipse開發環境默認的JRE也沒有包括它。應該沒用。
tools.jar應用服務器用來編譯JSP文件,應用服務器自己會加載,不需要自己設置。
關於path和classpath的含義:
1.path變量的含義就是系統在任何路徑下都可以識別java,javac命令
2.classpath變量的含義是告訴jvm要使用或執行的class放在什麼路徑上,便於JVM加載class文件,.;表示當前路徑,tools.jar和dt.jar爲類庫路徑。如果不用Swing裏面的東西,可以不加dt.jar。 tools.jar裏面是最基本的工具類,比如javac,不加是無法做開發的。
1. rt.jar 默認就在 根classloader的加載路徑裏面 放在claspath是多此一舉 不信你可以去掉classpath裏面的rt.jar 然後用 java -verbose **X 的方式運行一個簡單的類 就知道 JVM的系統根Loader的路徑裏面 不光rt.jar jre\lib下面的大部分jar 都在這個路徑裏
2. tools.jar 是系統用來編譯一個類的時候用到的 也就是javac的時候用到 javac **.java 實際上就是運行 java -Calsspath=%JAVA_HOME%\lib\tools.jar xx.**.Main **.java javac就是對上面命令的封裝 所以tools.jar 也不用加到classpath裏面
3. dt.jar是關於運行環境的類庫,主要是swing的包 你要用到swing時最好加上
dt.jar是關於運行環境的類庫,主要是swing的包
tools.jar是關於一些工具的類庫
rt.jar包含了jdk的基礎類庫,也就是你在java doc裏面看到的所有的類的class文件
編譯和運行需要的都是toos.jar裏面的類 , 分別是
sun.tools.java.*;
sun.tools.javac.*;