在eclipse上自动生成的程序如下:package test001;public class test001 { /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Hello World!"); }}在eclipse下编译成test001.class运行良好,
可是当我用windows的cmd控制台下,输入java test001.class却总是
报错:
E:\eclipse\workspace\test001\bin\test001>java test001.class
Exception in thread "main" java.lang.NoClassDefFoundError: test001 (wrong name:
test001/test001)
        at java.lang.ClassLoader.defineClass1(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$000(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)
Could not find the main class: test001.  Program will exit.
我是新手,请大家帮忙,谢谢

解决方案 »

  1.   

    如果你确定自己JDK装的正确的话那么就是eclipse的bug 我时常会碰到 不知道他怎么会发生的但只要你新建一个project 把这个类拖到那个新建的project里面 这个代码就可以运行了而出错的那个包 删掉吧。
      

  2.   

    查看下这个目录:E:\eclipse\workspace\test001\bin\test001>有这个文件没有test001.class再者运行不用加.class
      

  3.   

    打包的程序在控制台下面这样做:
    1、将生成的class带包文件夹一起拷贝,或者使用 javac -d . 源文件名.java编译生成带包的结构
    2、在控制台下使用java 包名.类名执行,当前目录需要是包文件夹所在的目录
      

  4.   

    有这个文件,不加.class也一样
      

  5.   

    先用cd 进入该文件目录,然后执行java 文件名(不要带.class)试试
      

  6.   

    答:要:E:\eclipse\workspace\test001\bin\test001>java test001
    不是:java test001.class
      

  7.   

    比如:你应该 cd E:\eclipse\workspace\test001\bin
    然后 java 包名.文件名(不含.class)
    应该 java test001.test001这样应该可以的。
      

  8.   

    还有一种方案:
    如果你不愿意切入这个目录去执行,
    就得配环境变量。
    环境变量 CLASSPATH 里追加E:\eclipse\workspace\test001\bin;
    然后重新打开命令行窗口再 java test001.test001
      

  9.   

    运行java应该用java test001  不是java test001.class
      

  10.   


    谢谢请问包文件在哪,我这里eclipse自动生成下面的目录和文件:test001---bin----test001---test001.class
            |
            |-src----test001---test001.java
      

  11.   

    cd E:\eclipse\workspace\test001\bin   
    java test001.test001
      

  12.   

    E:\eclipse\workspace\test001\bin\test001>java test001
    Exception in thread "main" java.lang.NoClassDefFoundError: test001 (wrong name:
    test001/test001)
            at java.lang.ClassLoader.defineClass1(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$000(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)
    Could not find the main class: test001.  Program will exit.E:\eclipse\workspace\test001\bin\test001>java test001.class
    Exception in thread "main" java.lang.NoClassDefFoundError: test001/class
    Caused by: java.lang.ClassNotFoundException: test001.class
            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)
    Could not find the main class: test001.class.  Program will exit.上面说明java test001
    和 
    java test001.class
    是一样的 bzwm说得对,谢谢各位
      

  13.   

    简单点 把packege test001 去掉就行了