jdk在CMD中抛出找不到MAIN类???但在jcreator下能够运行!!!!!!!!!!!!
路径设置都是正确的 ,请问原因

解决方案 »

  1.   

    看你这问题问的……
    至少你得说说你的source和binary文件在哪儿吧?
    然后得说说你的所谓的正确的路径设置吧?
    还得记得说说你怎么运行程序的吧?
      

  2.   

    classpath=.;
    是不是路径没有配好
    IDE可以帮你配好
      

  3.   

    路径设置都是对的 ,相信就不要说了。用其他的IDE之后就没注意,之间在CMD上编译运行就显示 Exception  in thread "main" java.lang.NoClassDefFoundError: 
      在jcreator 和eclipse里都能运行  
      

  4.   

    那你在Dos窗口运行是输入什么命令?
      

  5.   

    在CMD里运行,是需要事先设置好路径的而像jcreator这类工具,可能会自动找到JVM,JDK路径,相当于临时改了系统路径,所以可以运行,但工具一关闭,就没了
      

  6.   

    路径设置是绝对正确的,开始没怎么注意  前些时用了LOMBOL
    今天我同学用CMD一试  ,竟然有这问题  
    个人感觉会不会是服务器对其的影响
    等待  高手
      

  7.   

    哦 不好意思 看错了 你是在cmd里运行出错 
    那就不知道了
      

  8.   

    Exception  in thread "main" java.lang.NoClassDefFoundError:这么问你吧:
    1,后面还有什么错误信息啊?这个错误后面一定还有信息的,你不说,我们怎么猜呀?
    2,从字面上看,是找不到Class定义的问题。那么Class定义应该从哪里找呀?从PATH还是CLASSPATH?还是别的什么旮旯呢?你说设置是肯定对的,那为什么找不到呢?奇怪呀奇怪。
      

  9.   

    3,你怎么运行你的程序的呀?
    java MainClass.class
    java MainClass.java
    java mainClass
    java MainCass
    ...
      

  10.   

    Exception  in thread "main" java.lang.NoClassDefFoundError: Test (测试的那个类名)
     路径 环境 配置都是正确的
     就是在CMD里的可以编译通过  运行结果如上  
      

  11.   

    我也刚碰见这个问题,环境变量都设置正确,可以运行
    换台机器就出问题了(换的机器环境变量也是正确的)之后无奈中想测试下,写了个只有一行的class,可以运行,之后原程序也可以运行了,
    真不知道是怎么回事
      

  12.   

    高手啊  我的也是这样的问题啊 !!! 也是编译通过  可是运行JAVA  的时候就出现这个问题了Exception in thread "main" java.lang.NoclassDefFoundErro:e:\java\TestHelloWorld
      

  13.   

    编译通过并不能说明运行环境设置正确,也不说明一定能运行。比如,这个错误:
    Exception in thread "main" java.lang.NoclassDefFoundErro:e:\java\TestHelloWorld这个错误说找不到一个class,叫e:\java\TestHelloWorld。你写的class是叫这个名字吗?应该是TestHelloWorld吧?运行java的时候,只需要class name,不需要class file所在的路径。也就是说,要运行class TestHelloWorld,就java TestHelloWorld就行了。只要运行环境设置正确,1,PATH里正确的java.exe找得到;2,CLASSPATH里TestHelloWorld.class找得到。就上面这个例子来说,如果class name是TestHelloWorld,而且TestHelloWorld.class在e:\java里,那么只要CLASSPATH包含e:\java就好了,在什么地方运行不是那么重要,我可以在C:\运行E:\java里的class。
    如果CLASSPATH里面,不包含e:\java,但是包含当前目录(就是一个点"."),(这个缺省是包含的,除非你自己改掉了),那么只能在e:\java下运行程序。
      

  14.   

    真的很郁闷  所有的IDE都能够运行 
      

  15.   

    classpath有问题,没有配置好,我以前也碰到过,看看前边是不是少了",;"
      

  16.   

    一般都是路径的问题.
    步骤:1.Hello.java类在D:\ll\kk\目录下package ll.kk;
    public class Hello{
    public static void main(String[]args){
      System.out.println(" hello world ");
    }
    }2.进入cmd,进入d:盘根目录,javac生成class文件
    D:\>javac -classpath . ll\kk\Hello.java
    不要使用javac -classpath . ll.kk.Hello.java 这样会找不到Hello.java的,自己想想.3.java运行Hello类
    D:\>java -classpath . ll.kk.Hello4.看明白了吧^-^
      

  17.   

    别忘了有一个点 -classpath 跟一个 .
    D:\>javac -classpath . ll\kk\Hello.java
    D:\>java -classpath . ll.kk.Hello
      

  18.   

    首先你得明白一点,对于java而言,无论是cmd调用javac之类的自己编译运行还是用JCreator之类的IDE,都是以java语言本身的特性为基础的,就是说再高级的IDE,和CMD也是同样的过程,只不过它用自己的方法解决了CMD必须用户自己解决的问题而已。
    所以,你的问题就是classpath的问题,认真查找,肯定可以解决。
      

  19.   

    类名也不一定要大写,非public的类的类名也不一定要跟文件名相同.
    楼上说的都很有道理,估计是路径的问题,包括类文件的路径和path环境变量,看看path里有没有其他有关JAVA的环境变量出现在你JDK的环境变量之前,比如你装个oracle,它的JDK的环境环境变量会出现在前面.
      

  20.   

    问题解决了  原因是我系统前几天重装了  刚在注册表看了下 它的环境变量classpath没有写入其中 我直接用的系统重装前安装的JDK  
    重装了下JDK
    搞定了 
    谢谢大家呀
      

  21.   

    jdk是不用重装的.
    !^-^
    在系统环境变量里设置就行.
    JAVA_HOME =jdk安装目录
    CLASSPATH =%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;
    注册表那个只是JRE用的.
      

  22.   

    上面说的东西都配置好了的话,你只需点击Build>compile file然后再点Build>execute file即可.之所以提示找不到类,是因为没有编译就点击了运行,那时个java文件还没有编译成.class字节码文件,当然提示找不到类了啊!
      

  23.   

    我知道了,我刚才也是犯了一个和你一样的错。javac 后成功。但是下面解释的时候写成java helloworld.java 了
    应该写成java helloworld
    也有别的可能,小弟也是刚学