我安装了J2EE的最新版本,内含了JDK,把环境变量指向JDK中的BIN和LIB后,java和javac命令都可能正常运行了,但当我编译java源程序时(程序在以前编译时是正确的),总出现下列提示:
Exception in thread "main" java.lang.NoClassDefFoundError: Assignment
后来我又下载了一个JDK1.4.2的版本,改变环境变量后仍然出现上述问题!
急请各位专家和同仁指导!深表谢意!

解决方案 »

  1.   

    呵呵!我刚开始时也遇到过这种情况。比如你的程序在c:\,你的JDK在d\,下那你到c:\去执行你的程序就没有问题了。出现这种情况是没有找到.class 文件。
      

  2.   

    你可以在环境变量里写一个      变量名:classpath     路径为    .;    说明类路径为当前文件夹你所报的错为没有找到该类
      

  3.   

    同问
    classpath应该怎么设置啊,我没设过,只设了path,c:\j2sdk1.4.2;c:\j2sdk1.4.2\bin;
    以前只在eclipse里加进去在那里能运行,但老师要求我们用dos窗体下运行,估计是class没加进来,求设置方法!!假设j2sdk装在c:\j2sdk1.4.2目录下,谢谢
      

  4.   

    具体问题如下:
    E:\ayy\test1\Thread>javac ThreadDemo.javaE:\ayy\test1\Thread>java ThreadDemo//编译通过,执行时发生如下错误
    Exception in thread "main" java.lang.NoClassDefFoundError: ThreadDemo (wrong name: Thread/ThreadDemo)
            at java.lang.ClassLoader.defineClass0(Native Method)
            at java.lang.ClassLoader.defineClass(Unknown Source)
            at java.security.SecureClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.defineClass(Unknown Source)
            at java.net.URLClassLoader.access$100(Unknown Source)
            at java.net.URLClassLoader$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClass(Unknown Source)
            at java.lang.ClassLoader.loadClassInternal(Unknown Source)
      

  5.   

    好了,在此向各位表示衷心的感谢!祝大家成长愉快,工作顺利,事业有成!
    我的MSN是:[email protected]
    欢迎大家加我交流并指导!
      

  6.   

    设置classpath 和你的jdk安装在什么地方没有关系的 
    主要是你用javac编译出来的class文件在什么地方如果你没有设置classpath 就默认在当前文件夹内的所有class都可以用java来执行如你有个Test.class文件在c:\下
    你就要进去c:\下输入java Test  便没有问题了如果你想在d:\下运行这个Test.class你就需要把classpath 设置为c:\
      

  7.   

    我是这样做啊,我就用dos命令进入到那个目录去也不行啊
    Exception in thread "main" java.lang.NoClassDefFoundError: MultiCatch(MultiCatch是java的文件名)
      

  8.   

    你的MultiCatchjava文件还是class文件啊 
    要是class文件就直接写java MultiCatchjava要是不会用window里的设置classpath  
    你就先在dos里输入set classpath=.;   //不要有空格哦
    再到当前目录去执行
      

  9.   

    感谢,以解决
    我的java文件放package里,难怪不行