刚刚学JAVA 想写一个经典的HelloWorld.
但是执行的时候报出这个错Exception in thread "main" java.lang.NoClassDefFoundError:HelloWorld 
我的环境变量的设置是
path         ;%JAVA_HOME%\binclasspath   .;$JAVA_HOME/ lib/tools.jar;$JAVA_HOME/ lib/dt.jar;%JAVA_HOME%\lib JAVA_HOME  C:\Program Files\Java\jdk1.5.0_04保存的文件名和类名一样!编译的时候能编译出CLASS 类文件出来但是就是执行不了!哪里有错?帮忙下 老师们!多谢了!

解决方案 »

  1.   

    那是因为你的类名与文件名不一样:
    把下面的这个程序保存为HelloWord.java, 然后编译运行, 应该没有问题.
    你的环境配置看样子是对的. 至于classpath   .;$JAVA_HOME/ lib/tools.jar;$JAVA_HOME/ lib/dt.jar;%JAVA_HOME%\lib  这些环境变量, 从JDK1.4后就不需要设置了(记得开始学习的时候使用的就是JDK1.4, 就没设置过这东西, 现在用JDK6.0更没设置过),
    我装JDK后, 只设置path         ;%JAVA_HOME%\bin 
    public class HelloWord {
        
        public static void main(String[] args) {
            System.out.println("Hello World.");
        }
    }
      

  2.   

    用了你的代码 也用了与类名一样的 文件夹名编译依然没有问题但是执行的时候 还是那个错误
    Exception in thread "main" java.lang.NoClassDefFoundError:HelloWord还是不明白.
      

  3.   

    cmd 下用javac编译时要到.java的当前文件夹下去再用javac编译
      

  4.   

    最好不设置classpath
    因为默认是当前目录(.)
    啥也不会的菜鸟,更容易设错。所以还不如不设。
      

  5.   

    我只设path,然后运行javac,java看看能不能装好了,能不能执行.如果能够说明你安装没问题,然后找到你存放HelloWorld.java的路径,小心大小写,看看是不是扩展名字对不对(是不是java).在写程序的时候看看文件名和类名是不是相同,还是注意大小写.如果执行javac HelloWorld.java看看是不是能够生成HelloWorld.class文件.看看classpath是否有"."
      

  6.   

    你一定是在声明主函数的时候缺少了static关键字
      

  7.   

    楼主你的path路径设置时,新按装的路径最好放在最前面,以防止有多个jdk版本
      

  8.   


    用"/"? 在Linux才这样,在WINDOWZ下面的用"\",试把"/"都改成"\".
    如设置classpath时用 ".;$JAVA_HOME\lib\tools.jar;$JAVA_HOME\lib\dt.jar;%JAVA_HOME%\lib"
      

  9.   

    还有刚才拷贝你的classpath时发现中间有空格,注意把空格去掉,不然操作系统也会空格当成分格符的.