那为什么编译的时候连个String类都找不到呢
麻烦大家看一下
http://www.javaworld.com.tw/jute/upload/2006/11/24/15328444.gif

解决方案 »

  1.   

    不需要 classpath, 但需要 path 和 java_home.
    但从图片看,你的配置应该没有错。
      

  2.   

    我怀疑是我的系统的环境变量部分坏掉了
    竟然会碰到这种事情~~实在
    path和java_home我都配好了
    classpath遇到一个非常非常奇怪的问题set classpath=%java_home%\lib;可以编译成功也就是用javac Hello.java成功,
    但当在解释时(java Hello时)就通不过,出现Exception in thread "main"java.lang.NoClassDefFoundError:Hello
    出现这个我们就知道是找不到Hello类了
    那就这么设 set classpath=.;
    这样之后解释(java Hello)通过,当编译(javac Hello.java)又不通过了
    好了,那我们用set classpath=%java_home%\lib;.;
    大家都知道分号;是指并列的意思,可是结果
    就出现这张图了:
    http://www.javaworld.com.tw/jute/upload/2006/11/24/15328444.gif
      

  3.   

    最后我得出
    一下结论
    操作系统坏的--分号;没有,不起并列作用了
    jvm坏掉--明明是5.0的,像String类是自己找的。所以会人声称不用配classpath
    现在的问题的是,我重新下载了jdk5.0装好后
    String 类还会找不到
    迷糊了
      

  4.   

    in cmd window run:path=%path%;%JAVA_HOME%\bin;%JAVA_HOME%\libjavac "your java file"java -classpath . "your class file"
      

  5.   

    JDK5不是不要配置CLASSPATH,而是对于系统类库,也就是rt.jar,tools.jar等,它可以自动搜索到,默认的CLASSPATH,也包括当前目录"." 所以可以不用设置。但是对于你自己的应用,如果使用到了其它的什么包,还是要配置CLASSPATH的。最重要的一点是,如果你要设置CLASSPATH,一定要记得加上当前目录 "." 在Windows平台使用分号";"分隔,Unix/Linux平台使用冒号":"分隔。----------------------
    set classpath=%java_home%\lib;可以编译成功也就是用javac Hello.java成功,
    但当在解释时(java Hello时)就通不过,出现Exception in thread "main"java.lang.NoClassDefFoundError:Hello
    出现这个我们就知道是找不到Hello类了
    ----------------------
    就是因为你少掉了"." 才会找不到类的。
    最后,可以在命令行加上-cp参数指定CLASSPATH,这是最灵活的方式了。也要记得加上当前目录。
      

  6.   

    如果你是初学,配个
    classpath   .;就行了
      

  7.   

    楼上正解,classpath应包含当前路径