设置当前工作路径在C:\,有源文件A.java,对应字节码文件:A.class
1.JDK6.0如果不设置classpath,仅设置path,在工作路径下,可以执行 java A
2.如果设置了classpath = C:\Program Files\Java\jdk1.6.0\lib\tools.jar;
  没有点(.)这一项。再执行1:会出错!
3.设置时为什么大多数书上推荐使用:
   classpath = %classpath%; .; C:\Program Files\Java\jdk1.6.0\lib\tools.jar;
               C:\Program Files\Java\jdk1.6.0\lib\dt.jar;   我觉得1.%classpath%是多余的,因为没有系统变量classpath 
         2.为什么不设置C:\Program Files\Java\jre1.6.0\lib\rt.jar
           与tools.jar 和 dt.jar有什么区别?
         3.当前工作路径为什么一定要显示指定?

解决方案 »

  1.   

    “classpath = %classpath%; .; C:\Program Files\Java\jdk1.6.0\lib\tools.jar; 
                  C:\Program Files\Java\jdk1.6.0\lib\dt.jar; ”这样可以避免其他应用设置的丢失,因为可能其他应用设置过classpath值。
    当前工作路径 (.)指定后,将当前路径增加到class的搜索路径中。×××××××个人意见
      

  2.   

    关于这个问题的争议 没有意义1.如果你的java文件能正常编译和运行  这就够了
    2.以后JDK的安装和设置有可能还是会变的  现在可以不这么做 可以这么做  并不能代表以后就万事大吉了
      

  3.   

    谢谢大家的捧场:
      我声明下,在学习JAVA的过程中,我的认识在螺旋上升的,以前认为没有问题的,现在出现了问题。
    记得大家以前回过贴说JDK6。0以后就不用设置classpath,我用了几个月时间都是用这个规律来用的。
    但前几天在同一工作路径下,依然有问题,所以,我总结下讨论,我认为,现在的问题搞清楚,肯定不会在
    classpath有什么疑问了,所以叫终极篇,希望大家不要反感。
     顶者均有分。!希望成为推荐篇
      

  4.   

    其实配置就3步1.JAVA_HOME 2.classpath 3.指定2个jar包    就好了
      

  5.   

    老师没教过你      什么叫捡芝麻丢西瓜?  
             有这会功夫 多看好几页  head first 设计模式 跟 code complete 2了..   
    细节不是不可以掌握.  但我更喜欢高屋建瓴的感觉. 
    那种驾驭代码 , 解耦 , 复用的快感... 相较而言. 细节没有这种成就感.
      

  6.   

    其实 jdk 的这一套工具小巧简单, 功能强大, 不会用或者用错其 
    实不关工具的事, 关键是明白工具背后的一些原理和必要的知识. 集成环境是很好, 
    但是它屏蔽了很多底层的知识, 不出错还好, 一旦出错, 如果没有这些必要的知识 
    就很难办, 只好上 bbs 问, 别人只告诉了你解决的具体方法, 下一次遇到稍微变化 
    一点的问题又不懂了. 所以不要拘泥于工具, 觉得楼主兄弟的做法很对,把最基础的
    原理弄懂了,以后不管它怎么变,都能应付了。
    所以,我虽然不能给你答案(因为我也不了解,菜鸟一个,呵呵),但是对你这种精神:
    顶!!!
      

  7.   

    .为什么不设置C:\Program Files\Java\jre1.6.0\lib\rt.jar 
              与tools.jar 和 dt.jar有什么区别? 
    谢谢大家。还是讨论上述问题吧。
      

  8.   


    你找个解压缩工具看看tools.jar 和 dt.jar中的文件就知道了,classpath是一个比较复杂的问题,尤其是在多个classloader的情况下...
      

  9.   

    我觉得1.%classpath%是多余的  
       真的多余的吗 系统变量好像也不止一条路径
      

  10.   

    JDK 5 以上的环境中不用设置 classpath 环境变量了,在 JDK 1.4 及以下的环境需要设置。一般设置一下 path 和 java_home 就行了。如果不用其他的容器,比如 Tomcat,甚至连 java_home 都不用设置。
      

  11.   


    rt.jar,rt 即 RunTime 表示运行时的类,其中包含核心的 Java 类库。tools.jar,JDK 中的非核心类库,用于支持 JDK 中的开发工具,比如 native2ascii, javac
    等命令就是调用其中的类库dt.jar,dt 即 DesignTime,是一个 BeanInfo 设计时归档,这些类一般 IDE 的支持,
    告知 IDE 如何显示 Java 组件什么的。
      

  12.   


    我也有这个问题,以前想看JDK有哪些包,结果按环境变量里设置的路径去找,没找到,后来才知道是rt.jar包里的,为什么设置里面要设置其它两个而不设置这个
      

  13.   

    知道了 tools.jar dt.jar的意思