我在网上看到一篇文章说
--------------------------------------------------------------------------------------------------------------rt.jar ,dt.jar ,tool.jar都是 做什么用的 ,分别什么时候需要设置到classpath里?
--------------------------------------------------------------- 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时最好加上 -----------------------------------------------------------------------------------------------------------
大家说说他说的有道理吗?
还有就是我自己配置环境变量的时候只配置了path(C:\Program Files\Java\jdk1.6.0_02\bin;)如果我在一个文件夹下有一个java源文件开始时引入了一个包,java是如何找到我引入的这个包呢?也就是说为什么我没有配置javahome和classpath我写的java程序还是好使呢?
--------------------------------------------------------------------------------------------------------------rt.jar ,dt.jar ,tool.jar都是 做什么用的 ,分别什么时候需要设置到classpath里?
--------------------------------------------------------------- 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时最好加上 -----------------------------------------------------------------------------------------------------------
大家说说他说的有道理吗?
还有就是我自己配置环境变量的时候只配置了path(C:\Program Files\Java\jdk1.6.0_02\bin;)如果我在一个文件夹下有一个java源文件开始时引入了一个包,java是如何找到我引入的这个包呢?也就是说为什么我没有配置javahome和classpath我写的java程序还是好使呢?
系统要找到这些class或者jar里的class,至少得告诉系统他们在哪里,这就是 CLASSPATH
还有你们是怎么理解我提到的那篇文章的啊?
系统要找到这些class或者jar里的class,至少得告诉系统他们在哪里,这就是 CLASSPATH
说的好
2. 那篇文字是有道理的...如果喜欢刨根问底的,看那文章不错...其实path只是引导系统找到文件的一种方式..
dt.jar 即 DesignTime 类库,这是 BeanInfo 文件设计时的压缩包,是给 IDE 用的
tools.jar 是 JDK 中工具和实用工具支持的非核心类库,包括编译器在内的 JDK 工具另外,从 JDK 5 开始不需要再设计 classpath 这个环境变量了