想显示 helloworld class HelloWorld{ 
public static void main (String args[ ]) { 
System.out.println("Hello World!"); 

} 在cmd中  D:\>sun\appserver\jdk\bin\javac d:\helloworld.javaD:\>sun\appserver\jdk\bin\java d:\helloworld
Exception in thread "main" java.lang.NoClassDefFoundError: d:\helloworld //--为什么??

解决方案 »

  1.   

    你的classpath路径设置好了没有?看设置正确了没?
      

  2.   

    估计是classpath设置有问题,
    特别注意,要有这部分: .;
    表示,把当前目录,也放到classpath中,还有,一般情况下,声明:
    String[] args  
    这个和 
    String args[] 是有区别的。不过这个不会出错,是一个习惯问题!
      

  3.   

    網上找一下怎樣設置classpath就可以了。應該是classpath出錯了。
      

  4.   

    1,正确设置classpath路径在系统变量中
    2,写出你环境变量的设置路径,看看是不是正确。
      

  5.   

    CLASSPATH:d:\Sun\AppServer\jdk\lib
    JAVA_HOME:d:\Sun\AppServer\jdk
    PATH:     d:\Sun\AppServer\jdk\bin我是安装在 d :\Sun目录下的
      

  6.   

    class HelloWorld这是你的.java中的类d:\helloworld.java 这是你的文件名....两个不一样...所以报错说:NoClassDefFoundError
    意思是:
    没有找到相应的类....
      

  7.   

    恩??我把文件名该了, HelloWorld
    还是一样错误啊~~
      

  8.   

    zeq258(近朱者赤) ( ) 信誉:105 按他说的做就对了...
      

  9.   

    CLASSPATH:d:\Sun\AppServer\jdk\lib
    CLASSPATH:.;d:\Sun\AppServer\jdk\lib
       
      

  10.   

    zeq258(近朱者赤) ( ) 信誉:105  2006-03-28 14:43:00  得分: 0  
     
     
       估计是classpath设置有问题,
    特别注意,要有这部分: .;
    表示,把当前目录,也放到classpath中,还有,一般情况下,声明:
    String[] args  
    这个和 
    String args[] 是有区别的。不过这个不会出错,是一个习惯问题!
      
     
    ------------------
    更正:
    经过发帖子,得到的结论:
    String[] aaa; 和 String aaa[] 是没有区别的。
    不好意思了,各位?????
      

  11.   


    还是不行的呢~~
    我把HelloWorld.java放在 D 目录下。
    javac HelloWorld.java   成功生成HelloWorld.class
    但是 java HelloWorld    就
    Exception in thread "main" java.lang.NoClassDefFoundError: d:\HelloWorld
      

  12.   

    String[] aaa; 和 String aaa[] 是没有区别的。
    没区别,今天看书看到了的, 习惯问题~~
      

  13.   

    还是不行的呢~~
    我把HelloWorld.java放在 D 目录下。
    javac HelloWorld.java   成功生成HelloWorld.class
    但是 java HelloWorld    就
    Exception in thread "main" java.lang.NoClassDefFoundError: d:\HelloWorld
      

  14.   

    C:\>javac a.javaC:\>java HelloWorld
    Hello World!我编译没有问题啊
    代码就是你的代码,改都没改就是你ClassPath设置问题。
    我的环境变量里没设置claapath,因为我没有别的class,所以没加。
      

  15.   

    不是的,是你编译时的路径写错了,你可以将HelloWorld放在一个文件夹中,而在用JAVA HelloWorld是应该以该文件为最近的目录或者不放也可以。
    D:\>sun\appserver\jdk\bin\javac d:\helloworld.javaD:\>sun\appserver\jdk\bin\java d:\helloworld
    Exception in thread "main" java.lang.NoClassDefFoundError: d:\helloworld //--为什么??
    该为:D:\>sun\appserver\jdk\bin\cd d
          D:\>java helloworld
    即运行时,应为.....\...\..\>java xxxx
    注意目录“/”与“/〉”就可以了吧,你试一试吧
      

  16.   

    D:\>sun\appserver\jdk\bin\javac d:\helloworld.java
    很明显,你的文件名是helloworld 是小写,但你的class名是 HelloWorld  大写,这个不一致导致编译通不过。   注意:文件名必须和类名一致!  这是java初学者经常遇见的问题。
      

  17.   

    第一, 你错误的用了java d:\helloworld来运行你的文件, 其实这是初学者最容易犯的错误! 你必须了解到, java命令运行的是类, 而不是文件. 也就是说java命令将会在你的环境变量里寻找"d:\helloworld"这个类, 如果没有设置classpath环境变量, 那么就会在当前文件夹里面寻找. 很明显你定义的类的名字是"Helloworld"而不是"d:\helloworld", 当然java就会报怨说找不到d:\helloworld了. 一定要注意, 不要将class的路径当作类名的一部分了, java是不认的.第二, 就算你在helloworld目录所在的地方用java helloworld来运行, 也会报同样的错! 这是因为, Java是一个大小写敏感的语言, 很明显, 这在这里用的是helloworld而不是HelloWorld!另外, 补充一点, chdbj(成都)说的文件名和类名不一致会导致编译通不过, 这样的说法是没有根据的, 也是没有自己作实验的结果. 或者经常用集成开发环境异致的错觉. 用集成开发环境一定是会引起异常的, 但, 如果你在命令行用楼主的方法来编译运行的话, 就会发现, 编译一定会成功, 并且同时会生成一个HelloWorld.class文件, 而不是helloworld.class文件. PS: 本人初学Java, 深知Java有还是有许多陷阱让初学者容易犯错误, 所以, 希望自己有一点点用无数实验得来的经验对其它初学者有所帮助. 以上分析, 如有不妥之处, 大家再一起探讨.
      

  18.   

    java交流群-22065798
    互相学习 共同提高
      

  19.   

    Hello 和hello是不一样的,区分大小写,所以会报错。
      

  20.   

    javac 编译时不区分后面文件名的大小写只要能找到文件名就可以,
    但是java运行时,找的是类名,必须与文件中的类名一致,区分大小写