那可能是因为我们使用高版本的
JDK
编译的
Java class
文件试图在较低版本的
JVM
上运行,所报的错误。因为,高版本的
JDK
生成的
class
文件使用的格式,可能与低版本的
JDK
的
.class
文
件格式不同。这样,低版本的
JVM
无法解释执行这个
.class
文件,会抛出
Could notfind the main class.program will exit
,
java.lang.UnsupportedClassVersionE rror
不支持的
Class
版本错误。这个错误尤其在
JDK5
与
JDK5
之前的版本上表现明显。因为,
JDK5
在
Java
语法上作了不少增强,引入了一些新的
.class
文件的元素,导致旧版本的
JVM
无法解释、执行
.class
文件。即使这个类并没有使用任何
JDK5
的新元素,但是
JDK5
生成的
.class
文件,
JDK1.4
及其以前的
JVM
都无法辨认。
解决办法:
a) 弄清楚该程序是在哪个JDK版本下开发的(JDK对于java学习者应该不能陌生)
b) Eclipse 菜单->Windows->Proferences->java->Installs Jres重新设置JDK路径,改为开发程序时的JDK版本(如上图)(我做到这一步就可以了!我的eclipse是7.0,jdk是6u13的。)
c) Windows->Proferences->java->Compiler,将compiler compliance level设置为与上面相同的JDK