现在学习java,看见一本书上对classpath只配置了一个变量,为jdk1.4\jre\lib\rt.jar;为什么只配置一个变量就行了呢,而我的机子上配置如下:
set classpath=.;c:\ProgrameFiles\jdk1.5\lib\dt.jar;c:\ProgrameFiles\jdk1.5\lib\tools.jar;
感觉和那本书上讲的配置几乎完全不一样。我的是在jdk的lib目录下,而它的在jre目录的lib目录下,另外它的是rt.jar,我的是dt.jar和tools.jar。请解释下它那样配置和我这样配置的原因和区别。谢谢
set classpath=.;c:\ProgrameFiles\jdk1.5\lib\dt.jar;c:\ProgrameFiles\jdk1.5\lib\tools.jar;
感觉和那本书上讲的配置几乎完全不一样。我的是在jdk的lib目录下,而它的在jre目录的lib目录下,另外它的是rt.jar,我的是dt.jar和tools.jar。请解释下它那样配置和我这样配置的原因和区别。谢谢
解决方案 »
- 帮忙看一下为何finalize不调用?
- 那天在群里有人问了这样一个问题!
- JScrollPane 滚动条
- 帮忙看这是为什么?
- 新人请教:java编程是否还存在象vb,delphi等的控件注册问题呀?dll或ocx
- #初学Java(Core Java),写了一些小例子,贴出来,作个备份参考,也希望大家能贴一些经典的Toys
- *****************100分,问一下关于Look&Feel*************
- A接口需要B接口进行实例化操作
- 求JBUILDER7的注册码?
- 急问:JInternalFrame的关闭事件怎么设?
- 在Eclipse中调试总是报错,不得解,望大家指点
- 刚完成一个项目,功能都完成了,但是效率很低,操作一个小时后基本就要重启下服务器。
你的 jdk1.5\lib\xx.jar 那是 jdk 自带的工具类库,比如编译java 文件和其它 CORBA/EJB 之类的工具类可以在 tools.jar 里面找到,它们一般是开发人员用的,而 rt.jar 是 JRE 本身用的。程序跑起来本身一般不需要 tools.jar 之类的类库但需要 rt.jar.至少你的 classpath 下需要什么 jar 是根据你的需要,一般来说你开发时最常用的比如 oracle 驱动之类的你可以直接放到 classpath 变量下,这样你使用 cmd.exe 来运行程序时可以少输入几个路径,因为我们可以用变量代替很多个 jar 文件。
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下面的很多包都要使用到。