在命令提示符下能正常编译,但不能执行,
程序本身没问题,在eclipse,JCreator下都能运行
哪位前辈见过同样的问题?请各位前辈帮忙
下面是错误信息
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.C:\Documents and Settings\Administrator>cd ../C:\Documents and Settings>cd ../C:\>javac Foo.javaC:\>java Foo
Exception in thread "main" java.lang.NoClassDefFoundError: FooC:\>

解决方案 »

  1.   

    用cd命令
    进入java文件所在的目录
    eg: C:\>cd mulu
    C:\mulu\javac ....
      

  2.   

    源码肯定没问题 就输出一句话 看清下面的编译过程在回答 这是我两年来第一次遇见 能在命令提示符下编译却不能在命令提示符下运行
    Microsoft Windows XP [版本 5.1.2600] 
    (C) 版权所有 1985-2001 Microsoft Corp. C:\Documents and Settings\Administrator>cd ../ C:\Documents and Settings>cd ../ C:\>javac Foo.java C:\>java Foo 
    Exception in thread "main" java.lang.NoClassDefFoundError: Foo C:\>
      

  3.   

    我的天。
    楼主同志,javac通过,只能证明你的源代码没有语法问题,并不能证明你的源代码没有逻辑问题。错误信息是在说:无类定义发现错误。这说明,你的Java文件可能是有个包的。所以,当你使用java Foo的方式调用就会找不到类了。建议你更改javac的命令,增加-d参数。javac -d c:\ Foo.java然后再用Java命令执行试试。java Foo
      

  4.   

    注意javac命令里有几个地方是有空格的。javac_-d_c:\_Foo.java(下划线的地方是代表空格。)
      

  5.   

    楼上有道理
    java -d . Foo.java
    java 包.Foo
      

  6.   

    .;C:\Program Files\Java\jdk1.6.0_02\lib\dt.jar;C:\Program Files\Java\jdk1.6.0_02\lib\tools.jar;C:\Program Files\Java\jdk1.6.0_02\lib\servlet-api.jar;D:\Tomcat 5.5\common\lib\servlet-api.jar应该是 CLASSPATH 的问题,我也遇到过注意还要有个  .;  代表当前路径
      

  7.   


    错误,不能带包名。只能是:java Foo
      

  8.   

    你的类有包的话那编译出的.class必须放到对应的目录结构中, 然后在最外层调用java xxx.Foo