我运行一个java程序出现如下问题,想请那位高手帮我解决一下,感激不尽!我在控制台下运行出现如下错误是什么原因,请高手解答,谢谢!
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.C:\Documents and Settings\nienlun>cd c:\C:\>javac HelloWorld.javaC:\>java HelloWorld
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld (wrong nam
e: onlyfun/caterpillar/HelloWorld)
        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)C:\>

解决方案 »

  1.   

    onlyfun/caterpillar/HelloWorldremove the package in the HelloWorld.java
      

  2.   

    你的代码在什么地方?源码里有package没?这些问题不说,怎么解决啊
      

  3.   

    可能你的main方法少了什么了
    它可能只是一个普通方法 而不是入口函数
      

  4.   

    你的代码里放了包,如果你非要像现在这样运行,那就像二楼说的把代码头一行的package去了如果不想改代码去掉包,就CMD下这么运行:C:\>javac onlyfun/caterpillar/HelloWorld.javaC:\>java onlyfun.caterpillar.HelloWorld
      

  5.   

    源代码如下:
    package net.yeah.glchenggang;public class Helloworld { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println("Helloworld"); }}谢谢各位哥们的帮忙,问题已经解决了,是应为里面有个包,我还以为是应为JDK的原因呢?不过为什么在ECLIPSE下面可以运行而在控制台下却不行呢?请各位哥们给我解释一下详细的原因,让我有一个深刻理解,谢谢!