小弟是初学者,装好JAVA后,运行一个HelloWorld的例子,提示
“Exception in thread "main" java.lang.NoClassDefFoundError:HelloWorld/java
程序很简单,如下:
public class HelloWorldApp {
        public static void main(String[] args){
               system.out.println("Hello World!");
          }
}
不知道是环境没设置好还是其它问题.请各位高手指教.谢谢你.

解决方案 »

  1.   

    环境变量classpath和path的值设了没?
      

  2.   

    main所在类名(HelloWorldApp)要与文件名一致
      

  3.   

    首先你需要了解JVM(Java 虚拟机)加载类的原理,那么你就能回答这个问题了。JVM在加载类的时候,会根据系统环境变量中设置的CLASSPATH中所指定的路径去搜索需要加载的类文件,同时在CLASSPATH中若找不到的话,那么在当前执行目录中JVM也会去搜索,若都不能找到需要的Class文件,那么就会报出你现在的这个问题。解决办法有三个:1。在该Class文件当前目录执行 2。将该Class文件的路径加入CLASSPATH中 3。用java命令执行的时候,带上-classpath参数
      

  4.   

    我刚学java的时候也遇到了同样的问题,其实很简单,只是环境配置不到位而已要在path环境变量里加入java安装的bin目录的路径,还有一个就是加一个.;表示当前目录,我以前没加这个点和分号,就是一样的问题,加了以后就好了
      

  5.   

    是在path里面路径前加吗?我直接装在D要目录下.是不是:
    path=.;d:\java\bin就可以了?
      

  6.   

    我设的路径如下,不知道有没有错,希望各位指点一下.
    变量名:path  变量值:.;d:\java\bin (是分号)
    另新建的,变量名:classpath  变量值:.;d:\java (分号)
    不过这样还是和刚才一样,也考虑到类名和文件名的一致性了.不知道还少什么呢?
      

  7.   

    设错了啊,path不要前面的,只要d:\java\bin就可以了,classpath要.;d:\java\lib\tools.jar
      

  8.   

    不知道哪位可以给个全部的设置呀.我是装在D的根目录下.在D:\JAVA,按照设置还是不行呀.
    郁闷.
      

  9.   

    估计这断代码编译过不了
     system.out.println("Hello World!");
    应该System.out......注意大小写
      

  10.   

    你的环境变量没配好!
    在"运行"里面敲"CMD".然后进入命令提示符.再在命令提示符下进入到你JAVA文件存放的根目录下.然后输入"path=(存放JDK的路径直到BIN文件夹里);"例如:我的是文件名JDK在C盘下.所以就输入"path=c:\JDK\bin;"然后回车后.在运行javac和java这样就没问题了.
      

  11.   

    结果还是一样呀.而且我运行javac时提示不是外部命令,也不是可运行的程序或批处理文件.
    运行java也是一样.
      

  12.   

    环境变量
    path 设置好如果是初学的话,可以不设CLASSPATH ,因为默认的就已经包括了当前目录实在不行就找身边一个懂的人问问,咱们大伙在这瞎忙活又帮不上忙。
      

  13.   

    你是用记事本写的源程序吗?
    如果是的话,你的源程序类型可能错了,后缀是.txt,而不是.java
    解决办法是:打开:我的电脑,点击:工具   文件夹选项,点击 :查看,然后把“隐藏已知文件类型的扩展名”左边的勾去掉!  Try it!
      

  14.   

    然后再修改你的文件类型
    改为.java
    综合楼上各位所说,应该不会有问题了。
      

  15.   

    如果在命令行下输入java或者javac出现“不是外部命令,也不是可运行的程序或批处理文件”,这就肯定是path没有设置好,如果有反应了,就不是环境的问题了。建议楼主装个JCreator,之后就什么设置也不用的,以后慢慢的再设置环境,呵呵。这个环境对于初学者来说是个大问题啊。
      

  16.   

    我装的是JDK1。50好像少了一个编译器,我也是听朋友说的。不知道为什么,是不是一定要装1。42?
      

  17.   

    CLASSPATH变量里应该还要加入c:\JDK\jar\lib\tools.jar;c:\JDK\jar\lib\rt.jar
    然后最关键的一点是,设置好了环境变量后,需要重新启动,才可以起效的,因为我也是碰到过这个问题,应该没问题了
      

  18.   

    你装过多个jdk,应将有效(你编辑环境用的哪个)放在path中最前面
      

  19.   

    推荐你看:
    http://www.javaworld.com.tw/jute/post/view?bid=29&id=95464&sty=1&tpg=1&age=-1
    里的video
    ===============================
        CSDN小助手 是一款脱离浏览器也可以使用csdn论坛的
    软件!
        界面: http://qqwwee.com/
        下载: http://qqwwee.com/csdn.rar 包含源代码
      

  20.   

    “Exception in thread "main" java.lang.NoClassDefFoundError:HelloWorld/java
    从错误提示看
    没有找到默认类HelloWorldHelloWorldApp你的文件名应该和类名一致把文件名改为HelloWorldApp.java
    再编译运行
    http://gfs.nuc.edu.cn/DDBBS/home/
      

  21.   

    如果是使用5.0的话,应该不用设置classpath的,只许需要设置你的path就行了,在path里加入你的javac.exe的文件夹路径就行了,也就是…………/bin这个文件夹
      

  22.   

    homesos(熊猫贩子) he love01px(JAVA CUP) suo de you dao li le!
      

  23.   

    文件名应该和public 类名一样.
      

  24.   

    如果在命令行下输入java或者javac出现“不是外部命令,也不是可运行的程序或批处理文件”,这就肯定是path没有设置好,如果有反应了,就不是环境的问题了。那肯定是环境没配好了!
    如下:装JDK在C盘c;\jdk\
    新建classpath最后面加入:c:\jdk\lib;.
    在path中加入:c:\jdk\bin;配好后再在命令行下输入java或者javac,看一下!!!