运行时总报Exception in thread "main" java.lang.NoClassDefFoundError:...!!环境变量设置如下:classpath:.;C:\Java\jdk1.5.0_06\lib\tools.jar;C:\Java\jdk1.5.0_06\bin;%JAVA_HOME%/lib;path:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Java\jdk1.5.0_06\bin;%PATH% JAVAHOME:C:\Java\jdk1.5.0_06

解决方案 »

  1.   

    NoClassDefFoundError  没找到类看起来不是你的 环境变量设置的问题。你的 类 有 main方法没有?
      

  2.   

    估计是你的main方法格式不对
    应该是
    public static void main(String[]args){}
    你看看你的是这样吗?
      

  3.   

    或者
    public static void main(String...args){
    }
    格式不对,就会把你的方法当作普通的方法,说找不到入口
      

  4.   

    package corejava;public class Operator{
    public static void main(String[] args){
    int a = 10;
    a += 2; // a = a + 2;

    a = 10;
    a >>= 1; //a = a >> 1;

    a = -10;
    a >>>= 1; //a = a >>> 1;
    /*
    System.out.println(a);

    System.out.println( 2&3 );
    System.out.println( 2|3 );
    System.out.println( 2^3 );
    System.out.println( ~2 );

    System.out.println( 4>5?"aaa":"bbb" );
    */

    a = 10;
    a++; // a = a+1; 先计算表达式的值,再给a加1。表达式的值就是a的值
    a--; // a = a-1;
    ++a; // a = a+1; 先给a加1, 再计算表达式的值。 表达式的值就是a的值
    --a; // a = a-1;

    System.out.println(++a);
    }
    }
      

  5.   

    package corejava; 
    把这句注释上试试吧
      

  6.   

    估计是你编译后,运行的命令不对
    按照我的步骤:
    javac -d d: Operator.java
    编译后在D盘生产了一个文件夹corejava
    在D盘的目录下
    输入
    java corejava.Operator
    结果
    11
      

  7.   

    我没记错的话jdk的jar包应该是在jre\lib下的
      

  8.   

    程序没问题,编译也不会有问题.应该是你运行的命令有问题.
    java.lang.NoClassDefFoundError,这个是未发现class文件错误,即编译成功了,但字节码文件没找到.
    你应该是用java Operate运行的吧?原因是你程序中用package语句,那么运行的时候你必须自己手动创建类似package声明的文件目录先应该在你原目录基础上(class文件那个目录)再创建一个文件corejava,然后运行命令改为java corejava.Operate 就可以了。
      

  9.   

    问题应该出在包上,我把包注释掉了,就可以运行出结果11了不是说javac -d xxx就会自动建立与包名相对应的目录文件结构么?我用了为什么不行?
      

  10.   

    你在建立类时 应该是放在默认包里的 你的程序应该是copy的吧!
      

  11.   

    谢谢大家上面提到的方法我试过了!我的是拷贝的,copy的和手写的不同么?
      

  12.   

    我昨天也遇到过这个问题~程序是对的~~工程里的其他的程序都能运行~~我是因为改了
    public static void main(String[]args)这句出的毛病
      

  13.   

    类文件放在 C:\src 下包名为package corejava;类名为Operator编译命令是:C:\src>javac Operator.java(编译通过,但是用javac corejavaOperator.java编译就通不过)运行命令是:C:\src>java Operator(通不过)
              C:\src>java corejava.Operator(也通不过)谁知道怎么回事?
      

  14.   

    这个问题就是CLASSPATH的原因,改成这样就可以了
    CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar