E:\JAVA\Exercise\src\aa>java Hello
Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong name: aa
/Hello)
        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: Hello.  Program will exit.
Java code:
package aa;
public class Hello {
       public static void main(String[] args){
        System.out.println("Hello World");
       }
}
在Eclipse下能运行,为什么在命令行下就有错误??在线等!

解决方案 »

  1.   

    没有错误,你jdk用的1.4吗?
      

  2.   

    E:\JAVA\Exercise\src\aa>java Hello 有问题可能路径不正确
      

  3.   

    打入你的java的安装路径\bin\javac java源文件名.java回车
    以上是编译
    执行:
    打入你的java的安装路径\bin\java java文件名回车 /**********************java安装路径****************?
      

  4.   


    仍然有错误!!!
    E:\JAVA\Exercise\src\aa>javac Hello.javaE:\JAVA\Exercise\src\aa>java Hello
    Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong name: aa
    /Hello)
            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: Hello.  Program will exit.
    jdk版本
    E:\JAVA\Exercise\src\aa>java -version
    java version "1.4.1_02"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_02-b06)
    Java HotSpot(TM) Client VM (build 1.4.1_02-b06, mixed mode)
    按上述方法做
    E:\JAVA\Exercise\src\aa>C:\j2sdk1.4.1_02\bin\javac Hello.javaE:\JAVA\Exercise\src\aa>C:\j2sdk1.4.1_02\bin\java Hello
    Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong name: aa
    /Hello)
            at java.lang.ClassLoader.defineClass0(Native Method)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
    3)
            at java.net.URLClassLoader.defineClass(URLClassLoader.java:250)
            at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)E:\JAVA\Exercise\src\aa>
      

  5.   

    还有若把程序中的package aa;去掉可以有正确结果E:\JAVA\Exercise\src\aa>javac Hello.javaE:\JAVA\Exercise\src\aa>java Hello
    Hello World
      

  6.   

    你用到包了,退到上一级目录,用java aa.HelloWorld
      

  7.   

    编译时要用:javac -d . Hello.java运行时要用:java aa.Hello这样简单的问题都来问。多思考嘛
      

  8.   

    在包aa内,用 E:\JAVA\Exercise\src>javac aa/Hello.java 
                E:\JAVA\Exercise\src>java aa/Hello
    退到上一层目录。 
      

  9.   

    和java代码的包有关,运行时需要指定报包。
      

  10.   

    好像是路径错误  看下写错了没有
    编译:javac Hello.java
    解释:java Hello
      

  11.   

    如果以防写错
    就将这个java文件放到盘符的根目录下再测试下,测试的话就没有必要去加一个
    package aa;了   再试下吧  希望成功
      

  12.   

    当一个类不是裸体类时
        在编译时:javac  包名.类名.java
        在运行时:java  包名.类名
      

  13.   

    E:\JAVA\Exercise\src\>java aa.Hello
      

  14.   

    朋友不知道你的classpath 在电脑中配置没?
     
      

  15.   

    这是Java里包的用法你弄混了,包的概念和文件夹的类似,查点资料,很容易的,小问题。
      

  16.   

    有可能是你的环境变量没设置好eclipse是不用设置环境变量的
    如果你的环境变量设置好了 那就是你编译的时候没有引入包名
      

  17.   

    NoClassDefFoundError: Hello (wrong name: aa 
    /Hello) 
    根据这句话,应该是你的路径有误或是文件名命名错误,仔细查查
      

  18.   

    lz用Eclipse编写,
    编译的时候用 javac Hello是可以的。
    但是在运行的时候要换一下路径 
    因为Eclipse编译会把class文件放在bin的目录下
    应改为:
    E:\JAVA\Exercise\bin\aa>java Hello
      

  19.   

    首先看下你是不是有编译。如果有编译应该会产生Hello.class文件
    先找到这个文件所在目录。比如说是X:/xxx/bin/aa/Hello.class
    请退到bin这一层目录,然后执行java aa.Hello
    java搜索类的时候是以你建这个类的时候最顶级的package作为起始点的。不要进入到看到class文件的地方再开始执行java,只要把bin目录作为运行java的地方就好,如果src和bin是放在同一个目录里面的,那么就在src目录下面运行。
      

  20.   

    ava.lang.NoClassDefFoundError
    这明显是class变量的值设置错误啊
    变量名Class
    变量值 填写你的jdk安装位置\bin;
    注意“;”要用英文输入,用中文在运行时会出错
    楼上说的运行路径不对才是误导哪,放在哪个文件夹下就在哪里运行有什么不对了“注意“;”要用英文输入,用中文在运行时会出错”这才是关键,我敢百分之百确定你一定是环境变量设置错了,不信你运行别的。java文件试试,保证还是这个错误
      

  21.   

    因为你用到包了,所以编译好的class文件是放到那个aa文件夹里面的,所以要在那个aa文件里面找那个Hello.class文件编译的时候
    javac -d . Hello.java
    pause
    然后再运行
    java aa.Hello
    pause这样也可以的
    jdk1.4太低了,现在是建议用jdk6.0
      

  22.   


    你用到包了,退到上一级目录,用java aa.HelloWorld
    同意
      

  23.   

    public 修饰的类
    文件名要跟这个类名同名
    不然就找不到
      

  24.   

                  aefaefawefawf
      

  25.   

    这是路径问题,编译的时候使用E:\JAVA\Exercise\src>javac Hello.java
    运行的时候使用E:\JAVA\Exercise\src\aa>java Hello
      

  26.   

    classpath 删掉或者=. 就OK了!!!
      

  27.   

                                  DDD