本人刚学JAVA,按照例子运行,可以运行JAVAC
但是运行JAVA时就会显示如下:
Exception in thread "main" java.lang.NoClassDefFoundError:BuyHouse
BuyHouse是程序名,别的程序也一样,都出现上面
到底是哪出错了,大虾们帮一下

解决方案 »

  1.   

    classpath配置不对,注意classpath一定要加".;",它代表当前路径其他参考配置如下:
    JAVA_HOME    C:\java
    Path         %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%JAVA_HOME%\bin
    classpath    .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
      

  2.   

    把文件夹(package顶级目录)放入到classpath中去!
      

  3.   

    配置如下:
    我的电脑-属性-高级-环境变量-新建系统变量
    分别添加如下内容:
    变量名:JAVA_HOME 变量值:(你安装jdk的路径,例如:d:\jdk5;)
    变量名:classpath 变量值:(例如:d:\jdk5\lib\dt.jar;d:\jdk5\lib\tools.jar;)
    选择已有的Path变量,在变量值最后添加d:\jdk\bin;然后保存确定运用。
      

  4.   

    我觉得保存的时候你可能有错误,类名一定要和保存时名字一样.java
    提示是找不到main函数.建议到IDE里调试会很快找到错误的所在.
      

  5.   

    你编译和运行的路径必须是程序所在的目录,假如你的程序放在d:\java\中,那么用javac和java命令时,需在d:\java\路径下,你看看对不对,另外类名一定要和文件名一样
      

  6.   

    可以把源码发上来看一下,还有你用的javac、java命令是如何写的。既然说javac没有问题说明编译通过了,估计最大问题是你的程序里没有写main()方法!
    至于类名和文件名一致的问题,java只要求类名public类名完全一致,若一个程序里没有public类(当然基本都有一个类用public修饰),那么类名只要是合法的标识符就可以了。
    还有要注意的一点是:编译(javac)是编译你的java源文件,运行(java)是解释类运行的,注意两者之间的区别。
      

  7.   

    不好意思,打错字了:“java只要求类名public类名完全一致”改为“java只要求文件名与public类的类名完全一致”