JRE下的rt.jar、tools.jar

时间:2023-03-10 02:45:46
JRE下的rt.jar、tools.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里面

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