日期:2014-05-20  浏览次数:20882 次

CMD 运行java XXX.class 出现Could not find the main class
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld/class
Caused by: java.lang.ClassNotFoundException: HelloWorld.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)
Could not find the main class: HelloWorld.class. Program will exit.

java 和 javac命令都可以找到, 

系统环境变量 classpath = C:\学习\IBMproject\CrawlProgram;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\jre\lib\rt.jar;.;

查了好多都没找到答案。。。。。在 eclipse里面是可以运行的

代码如下:
Java code

public class HelloWorld {
    public void Draw()
    {
        System.out.println("class HelloWorld");
    }
    public static void main(String args[])
    {
        HelloWorld h1 = new HelloWorld();
        Child h2 = new Child();
        
        f(h1);
        f(h2);
    }
    
    public static void f(HelloWorld hw)
    {
        hw.Draw();
    }
}

class Child extends HelloWorld
{
    public void Draw()
    {
        System.out.println("class child");
    }
}




------解决方案--------------------
呵呵,你的环境变量错了;

这是我的设置,classpath : C:\Program Files\Java\jdk1.6.0_07\lib;
path: C:\Program Files\Java\jdk1.6.0_07\bin;

你可以在lib;后加上你编译后的class文件的路径。
------解决方案--------------------
嘿嘿,还有个问题,你的classpath中有中文,这是最忌讳的!一般建议classpath中不能含有中文,即使java支持unicode