java编译成功,但是不能运行,怎么回事。

提示错误:Could not find the main class.program may exit.

起初你或许会认为是一个莫名其妙的错误,因为代码根本一点问题的都没有,可运行期间总是报这个错,比较郁闷。
出现Could not find the main class.program will exit和java.lang.UnsupportedClassVersionError 错误的原因,是因为我们使用高版本的JDK编译的Java class文件试图在较低版本的JVM上运行,所报的错误。
因为,高版本的JDK生成的class文件使用的格式,可能与低版本的JDK的.class文件格式不同。这样,低版本的JVM无法解释执行这个.class文件,会抛出Could not find the main class.program will exit,java.lang.UnsupportedClassVersionError不支持的Class版本错误。
这个错误尤其在JDK5与JDK5之前的版本上表现明显。因为,JDK5在Java语法上作了不少增强,引入了一些新的.class文件的元素,导致旧版本的JVM无法解释、执行.class文件。即使这个类并没有使用任何JDK5的新元素,但是JDK5生成的.class文件,JDK1.4及其以前的JVM都无法辨认!

详细请参考:
http://blog.csdn.net/wangcheng8080/archive/2008/05/29/2492265.aspx追问

解决方法:在Eclipse窗口-->首选项-->Java-->编译器-->JDK一致性-->编辑器一致性级别,从5.0改到1.4就可以了。
但是"Eclipse"窗口在哪里呀,我找不到啊。

追答

你的是英文版吧,英文对应是:
window->preferences->java->Compiler

追问

window里没有preferences啊。

参考资料:http://blog.csdn.net/wangcheng8080/archive/2008/05/29/2492265.aspx

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-22
输入java [类名]
比如javac test.java遍以后会生成test.class
然后输入java test
第2个回答  2019-09-22
你在CLASSTHPATH前面加一个
.;
即把原来的CLASSPATH=D:\java\lib\rt.jar改成
CLASSPATH=.;D:\java\lib\rt.jar
加.;的意思就是在当前目录里面寻找.class文件,你只要把目录转换到当前目录下,运行javac
及java就好了
相似回答