我用的是j2se 1.4.2,设置好环境变量后
编译没有问题,但是运行时候出现Exception in thread "main" java.lang.NoClassDefFoundError: 

解决方案 »

  1.   

    这个问题问的人太多了,基本上有以下以情况:
    1.大小写的问题
    2.classpath的问题(要包含当前目录 classpath=.)
    3.包的问题
      如果你程序中有包,要
      javac -d . test.java
      java pkg.test  (pkg为包名)
      同时注意1,2
    建议:作为初学者,最好用IDE工具开发
      

  2.   

    最主要的问题就是classpath
    还有,如果你的类使用了包的话,需要放在适合的目录下
    比如:
    Class: pkg1.Class1classpath定在D:\Java
    那么.class文件应该在D:\Java\pkg1之下然后要在D:\Java下运行java pkg1.Class1这样应该就可以了。特别建议:初学者一定要从命令行开始,否则你会错过很多应该掌握的知识,对今后十分不利
      

  3.   

    我的建议:
    第一步,IDE,避免一系列的问题造成畏惧心理;
    第二步,发现原来不过如此,自然而然的会用命令行.
      

  4.   

    多谢各位不吝赐教!问题终于找到了,不过不太明白,由于保存.java文件时将文件名保存为HelloWord.java,而编译后的字节码成Helloworld.class 为什么改名了?我运行的时候以为文件名为HelloWord.class所以出现Exception in thread "main" java.lang.NoClassDefFoundError: 
    附上源码,为什么编译后改名了?请求高手指导!
    class HelloWorld 

        public static void main(String args[]) 
        {  
            System.out.println("Hello World"); 
        } 
    }
      

  5.   

    不可能的,HelloWord.java 编译以后的字节码肯定是和你保存文件的文件名一摸一样的HelloWord.class
      

  6.   

    请你看一看你class的名字是什么。怎么会改名呢?
      

  7.   

    你的文件名和类名不统一,编译过的是类文件名。
    JAVA编程要记住文件名和类名要统一