我将例子中的代码保存下来
public class HelloWorld {
public static void main (String args[]) {
System.out.println("Hello World !");
}
}
文件名为:HelloWorld.java
编译是正常结束,没有出错
c:\>javac HelloWorld.java
但是运行是出错:
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld不只是什么原因?请高手指教。
我的电脑安装了jbuilder 2006和bea Weblogic 9.0
以上代码在jbuilder 2006下运行没有错误。

解决方案 »

  1.   

    你的JDK路径设置不正确,你打开我的电脑->属性->高级->环境变量->找到"PATH",加入你的JDK所在的目录路径就行了.
      

  2.   

    我已经设置了:
    用户变量:path=.;C:\bea\jdk150_03\bin
    系统变量:classpath=C:\bea\jdk150_03\lib
    可是还是不行
    在没有进行上述设置的时候,javac,java命令都不可运行
      

  3.   

    main 函数错了 public static void main(String[] args){}
      

  4.   

    谢谢!
    问题解决了。
    我将用户环境变量中的path删除。
    在系统环境变量path中加上
    C:\Sun\AppServer\jdk\bin;C:\Sun\AppServer\bin;
      

  5.   

    classpath不对
    呵呵
    弄个开发环境吧
    比如eclipse调试程序也容易点
      

  6.   

    是的。我把classpath删除了。
    我用的是jbuilder 2006,但是我在学习java程序设计,课程要求不要用ide。
      

  7.   

    我觉得classpath设置不设置都无关紧要,在用户变量里面设置path或者在系统变量里面设置path都能够执行,可能是你设置以后电脑需要重新启动的原因。还有main的写法不对,虽然能够执行,可是java是面向对象的语言,谢谢
      

  8.   

    文件名起的和public 类 不一致,或大小写的问题
      

  9.   

    你执行的编译命令是“c:\>javac HelloWorld.java”,但是你的HelloWorld.java文件是否在当前C盘根目录下呢?
    如果没有,建议在HelloWorld.java文件存放的目录下执行javac,如果想要在当前目录下执行javac并要系统自动搜索HelloWorld.java文件,你应该使用set classpath= 等号后面是HelloWold.java所在的目录, 如果你不想每次进入DOS都要设置classpath指向你存放java源文件所在的目录,就应该在环境变量中新建一个“CLASSPATH”的变量名 并在变量值中填入你的java文件存放的目录,这样系统在当前目录下找不到你要编译的源文件就会去CLASSPATH的设定目录中搜索,如果我还没有说明白的话,找本基础的书学习一下classpath和path 的设置:)
      

  10.   

    我已经设置了:
    用户变量:path=.;C:\bea\jdk150_03\bin
    系统变量:classpath=C:\bea\jdk150_03\lib
    ===========================================
    好像.;很关键 而且正好用反了 应该用在classpath中 而且应该放在最前边
      

  11.   

    老大!象你这样的小程序用的着JBuilder2006这么大的软件么?
      

  12.   

    出现:
    Error:could not open "C:\Program Files\Java\j2r21.4.206\lib\i386\jvm.cfg"
    运行eclipse.exe也出现同样的错误。
    请问原因在哪?
    谢谢!