歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 設置jdk環境變量時lib中的rt.jar ,dt.jar ,tool.jar是什麼,作用是什麼

設置jdk環境變量時lib中的rt.jar ,dt.jar ,tool.jar是什麼,作用是什麼

日期:2017/3/1 10:36:17   编辑:Linux編程

這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.*;

Copyright © Linux教程網 All Rights Reserved