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时最好加上
注:
1)在编译时java使用的是JDK中的JRE中的JAR。
C:\Java\jdk1.5.0_06\jre\lib
2)采用java运行时,也用到是JDK中的JRE,因此测式发现在把rt.jar文件删除都会出错,因此可以
得到rt.jar是编编和运行时都要使用。其实lib下面的很多包都要使用到。
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时最好加上
注:
1)在编译时java使用的是JDK中的JRE中的JAR。
C:\Java\jdk1.5.0_06\jre\lib
2)采用java运行时,也用到是JDK中的JRE,因此测式发现在把rt.jar文件删除都会出错,因此可以
得到rt.jar是编编和运行时都要使用。其实lib下面的很多包都要使用到。
本文详细解释了Java中rt.jar、tools.jar及dt.jar的作用及其在编译与运行过程中的位置。介绍了这些JAR文件如何被Java系统加载,并强调了它们在不同场景下的必要性。
979

被折叠的 条评论
为什么被折叠?



