我们知道javac将HelloWorld.java编译后生成了HelloWorld.class ,当我们执行:java C:\temp\HelloWorld

java C:\temp\HelloWorld.class为什么java C:\temp\HelloWorld执行正常,而java C:\temp\HelloWorld.class却报Exception in thread "main" java.lang.NoClassDefFoundError错误?

解决方案 »

  1.   

    classpath没设定好.进入DOS窗口的时候在命令提示符里输入set classpath=c:\temp;.;%classpath%回车再执行就没问题了.
      

  2.   

    执行java命令的时候,class文件不能加上.class后缀
      

  3.   

    我只是想搞明白:
      java C:\temp\HelloWorld

    java C:\temp\HelloWorld.class到底有什么区别?
      

  4.   

    执行java命令的时候,class文件不能加上.class后缀
      

  5.   

    后面不能加.class不过也想知道为什么哦up
      

  6.   

    我只是想搞明白:
      java C:\temp\HelloWorld

    java C:\temp\HelloWorld.class到底有什么区别?人家SUN就是那么规定的,你非得搞个“区别”来,没那个必要。
      

  7.   

    安约定java package.classname。package的路径是用.来分割的。
    所以HelloWorld.class被认为是HelloWorld路径下的class类,当然就NoClassDefFound。