为什么最简单的java程序不能运行呢?请教高手~~~

这是编译了HelloWorldApp得到了.class文件后再在cmd中输入java HelloWorldApp后出现的错误信息:Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldApp
Caused by: java.lang.ClassNotFoundException: HelloWorldApp
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: HelloWorldApp. Program will exit.
请高手指点一下,我是初学者。
另外,我已经正确配置了环境变量啦~~~

第1个回答  2011-03-30
1.环境变量有问题,classpath。
2.java源代码中没有写明main方法。追问

环境变量没有问题,我看过了,源代码是public static void main(String args[]),完全照着书搬下来的,没错啊

第2个回答  2011-03-30
个人观点仅供参考:
有可能命令行窗口 cd 没进入到.class 文件的目录下。追问

什么意思啊,我已经用cd命令把目录转到了相应的路径了~~~

追答

一般情况下java javac都运行成功的话,我还没遇到过这个问题。。
不好意思,你问问别人吧。

第3个回答  2011-03-30
是不是文件名与类名不一样?追问

一样的,类名是HelloWorldApp,文件名是HelloWorldApp.java

第4个回答  2011-03-30
程序中导入其他的类了吗追问

这是我的源代码,很简单的一个:
public class HelloWorldApp{
public static void main(String args[])
{
System.out.println("Hello World!");
}
}

追答

你这个类是放在一个包里面了吗,例如com.test.HelloWorldApp.java这种形式,就是Java类中最上面得package

追问

我就用记事本写了代码,然后存在了一个HelloWorldApp.java的文件夹中,没有放在一个包里啊~

追答

例如 你的class文件在D:\下,你cmd时先切换到D盘下,再java HelloWorldApp

追问

已经切了,还是不能运行,还说什么could not find the main class,program will exit,郁闷死了

追答

D:\>javac HelloWorldApp.java
D:\>java HelloWorldApp
Hello World!
我这样没问题啊

追问

行了,我刚刚在eclipse里不知怎么弄的,就行了,不过还是不知道是什么问题~~~谢谢了哈,挺热心的~~~

本回答被提问者采纳
相似回答