JDK中rt.jar、tools.jar和dt.jar作用

第一篇:
JRE下的rt.jar:
这个文件是极为重要的一个文件,rt是runtime的缩写,即运行时的意思。是java程序在运行时必不可少的文件。
里面包含了java程序员常用的包,如java.lang,java.util,java.io,java.net,java.applet等

  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里面

  1. dt.jar是关于运行环境的类库,主要是swing的包 你要用到swing时最好加上

dt.jar好像是swing的一些什么类,Eclipse开发环境默认的JRE也没有包括它。应该没用。
tools.jar应用服务器用来编译JSP文件,应用服务器自己会加载,不需要自己设置。

dt.jar是关于运行环境的类库,主要是swing的包
tools.jar是关于一些工具的类库
rt.jar包含了jdk的基础类库,也就是你在java doc里面看到的所有的类的class文件

关于path和classpath的含义:
1.path变量的含义就是系统在任何路径下都可以识别java,javac命令
2.classpath变量的含义是告诉jvm要使用或执行的class放在什么路径上,便于JVM加载class文件,.;表示当前路径,tools.jar和dt.jar为类库路径。如果不用Swing里面的东西,可以不加dt.jar。 tools.jar里面是最基本的工具类,比如javac,不加是无法做开发的。

编译和运行需要的都是toos.jar里面的类 , 分别是
sun.tools.java.*;
sun.tools.javac.*;

第二篇:
dt.jar和tools.jar位于:{Java_Home}/lib/下,而rt.jar位于:{Java_Home}/jre/lib/下,其中:
rt.jar是JAVA基础类库,dt.jar是关于运行环境的类库,tools.jar是工具类库

在Classpath设置这几个变量,是为了方便在程序中 import;Web系统都用到tool.jar。

  1. rt.jar
    rt.jar 默认就在Root Classloader的加载路径里面的,而在Claspath配置该变量是不需要的;同时jre/lib目录下的
    其他jar:jce.jar、jsse.jar、charsets.jar、resources.jar都在Root Classloader中
  2. tools.jar
    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
    dt.jar是关于运行环境的类库,主要是swing的包 在用到swing时最好加上。

你可能感兴趣的:(Java)