JDK1.3不用设它的core(核心)的包的classpath,但一切extend(扩展包,也包括sun自已出的javax的大部分包!),以及其它公司出的专用包(比如某个JDBC Driver),以及你自已的包及.class,都还是要设CLASSPATH的。

解决方案 »

  1.   

    如果需要其他的包,需要在classpath中设置,如Swingall.jar等
      

  2.   

    但我在d:\dragon1中编译了一个文件,没在CLASSPATH中设置,运行成功又为何?
      

  3.   

    你的CLASSPATH中一定已经有了 .  亦或就是d:\dragon1这个目录了,如果没在autoexec.bat中设过,就在注册表中的jre设置项下查一下吧。
    CLASSPATH只是指定去搜索.class的目录路径而已,不能也不会去指定一个.class的。
      

  4.   

    dragon20,说句题外话, 你还真是挺倔的呀。:)就是不相信无数同志们的经验之谈。有意思。
    不过打破砂锅问到底当然不错,相信只要我有时间一定会让你听个明的。
      

  5.   

    luodi兄,你自己根本就不明白,怎么给别人讲明白。
    据我所知,根本就不用设什么classpath.你只要把包copy到一个目录里就可以了。
    那个目录是program files/javasoft/jre/1.3/kib/ext/就可以了。dragon20兄,还是让我来告诉你原因吧:jre搜索一个类的顺序为:当前目录-》java核心(jre.jar,tools.jar等等吧),-》java扩展(就是上面我所列的那个目录)-》classpath(如果有的话。)-》找不到的话报错。
      

  6.   

    呵呵,我也说句题外话,我真为java区感到悲哀,大家整天讨论的只是些path,classpath.
    偶尔有一些难点的问题,大家都不知道去哪儿了。
      

  7.   

    yangzi老兄,你把.class 拷到ext 目录下去试一试!:)你说的是打成包的.jar,可以这么处理,你去试试看.class看看,当然你可以说带目录拷过去,那样的话和我说的没什么不同,只是更麻烦而已。
    不过你说的有一部分比较对,就是jdk1.3之后对当前目录的支持比较好了,不需要显示把.加入CLASSPATH了,我说的更适用于JDK1.2吧。