這JDK的配置CLASSPATH中的dt.jar和tools.jar這兩個文件到底是干什麼的,有人說這個dt.jar是關於swing的 打開這個包確實可以看到和swing有關的類,說是如果用到swing就要配置這classpath,但是rt.jar中的swing呢 這個不才是真正的包含swing類庫嗎? 還有就是這兩個包到底是用作開發的類庫,還是JDK中的JAVAC等程序運行要的類庫。 如果不路徑這兩個包對我們開發的程序中有什麼影響?
———————————————————————————————
答: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.*;