在用Eclipse编写完class文件后 把文件复制到别的磁盘 用命令与提示符查看的时候就显示这个?
为什么在Eclipse能正常显示 在DOS下就不能了?还望各位能够多多提示。最好能把解决方案写详细一点。C:\>java HelloApp
Exception in thread "main" java.lang.NoClassDefFoundError: HelloApp (wrong name:
domain/edu/ynu/app/HelloApp)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
4)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

解决方案 »

  1.   

    dos下加一个参数  java  -classpath .class的位置  .class前面的名字  
      

  2.   

    Did you see this:wrong name: domain/edu/ynu/app/HelloApp
      

  3.   

    因为在eclipse的preference中,有自定义的环境变量,classpath设置,,当你用IDE 编程时,你的eclipse的所有默认的设定都是靠它,而无视你在 MyComputer,右键,-.Property->Advanced->Environment Variables中设定。
    但是,你用JDK编程,编译运行之,也就是你说的在DOS中,就是靠的MyComputer,右键,-.Property->Advanced->Environment Variables中设定的环境变量,所以你在这里没有设置,就会出错。
      

  4.   

    包名问题,运行的时候要加上.class文件所在的目录才行
      

  5.   

    HelloApp 这个类不在当前的类路径下,如果你没有设置系统的环境变量,那么默认是. 当前路径,你的当前路径是c:/,所以肯定找不到类文件
    你的类文件应该通过package打包了,domain/edu/ynu/app/HelloApp提示了你的类路径,要想运行这个类,可以通过set classpath=%classpath%;后面加上HelloApp.class所在的路径,这样就可以找到了。