解决之道

个人日记
posts - 33, comments - 1, trackbacks - 0, articles - 7
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

关于CLASSPATH

Posted on 2008-07-31 15:45 阅读(188) 评论(0)  编辑  收藏

今天看翁恺的教程,讲JAVA基础,提到CLASSPATH...so bad...惭愧啊..只知道是环境变量..却不知道是做什么用的,以前只知道要set classpath=什么什么,至于为什么这么设,是作什么用的却还不知道,今天试了试..才有原来如此的感觉..

我的理解,CLASSPATH是针对.class文件的,它是一个路径,能够让系统自动的去某个目录下去寻找你所要运行的.class文件..

设置CLASSPATH,可以在系统下电脑属性里的环境变量里直接添加,也可以自己创建一个.bat文件,输入set classpath=d:\javatest;.;这里可以设置多个路径,‘.’代表当前目录.然后在DOC下执行这个.bat文件就OK了。这样我把.class文件放在d:\javatest下,无论我在哪JAVA这个.class文件,它都能够被正常执行.

再有,关于package,如果一个a.java文件定义了一个package javatest;(当然a.java在javatest这个目录里)

编译的时候需要在javatest的目录下执行JAVAC指令。此时会在当前目录生成一个a.class文件(假设只有一个a类),但是此时这个文件的名字不再是A,而是多了一个姓,姓javatest,也就是说,我直接在当前目录下执行java a系统会提示找不到目标文件。所以在运行这个a.class的时候需要这样执行java javatest.a..

这个时候需要注意的是,系统同样会在CLASSPATH的目录下寻找javatest这个目录.如果CLASSPATH此时被设置为set classpath=d:\javatest;.;那么在当前目录下(d:\javatest)下执行java javatest.a,系统会报错,因为在当前目录(d:\javatest)和d:\javatest目录下找不到目标文件,正确的做法是在d:\下执行java javatest.a..

呵呵,原来接触的时候很乱,现在终于有了那么一点思路,还有待慢慢学习...



久城 2006-09-12 16:45 发表评论

只有注册用户登录后才能发表评论。


网站导航: