java打jar包的异常一:could not find the main class,java.lang.UnsupportedClassVersionError: Bad version numb

java打jar包的异常一:could not find the main class,java.lang.UnsupportedClassVersionError: Bad version numb。

原因:jdk版本冲突问题

参考文章:

http://jn3.141592654.blog.163.com/blog/static/27477260201031285943166/?hasChannelAdminPriv=true

一段在jcreator中能正常运行的代码,在myeclipse中

老是出现could not find the main class,program will exit。

这足可以说明代码没错,是程序的问题了。

原因和解决办法如下:

因为我们使用高版本的JDK编译的Java class 文件试图在较低版本的JVM上运行,所报的错误。  因为,高版本的JDK生成的class文件使用的格式,可能与低版本的JDK的.class文件格式不同。这样,低版本的JVM无法解释执行这 个.class文件,会抛出Couldnot find the main class.program will exit不支持的Class版本错误。 这个错误尤其在JDK5与JDK5之前的版本上表现明显。因为,JDK5在Java语法上作了不少增强,引入了一 些新的.class文件的元素,导致旧版本的JVM无法解释、执行.class文件。即使这个类并没有使用任何JDK5的新元素,但是JDK5生成 的.class文件,JDK1.4及其以前的JVM都无法辨认。

解决方法:

1. 弄清楚该程序是在哪个JDK版本下开发的 (JDK对于java学习者应该不能陌生)


2. 在myEclipse菜单->Windows->Proferences->java->Installs  Jres重新设置JDK路径,改为开发程序时的JDK版本(如上图)(我做到这一步就可以了!我的eclipse是7.0,jdk是6u13的。)

 

3.Windows->Proferences->java->Compiler,将compilercompliance level设置为与上面相同的JDK(如上图,如果你今天2011年到官方下载的JDK那可能是1.6的了,建议勾选1.6)

-----------------------------------------------------------------------------

对于项目来说,有时候出现版本问题也是跟编译级别有关系,那修改一下就可以了(如下图)

 

解决这个

 

 

方法二:换包,把相应项目不同版本的包换了,如我的项目本来是jdk1.5版本的,现在考到了jdk1.6版本的工具里,

 那么在项目名称处单击右键-——>“properties“    把1.6的包remove。

  (2)添加jdk1.5的包,单击add library。

 

java打jar包的异常一:could not find the main class,java.lang.UnsupportedClassVersionError: Bad version numb_第1张图片

java打jar包的异常一:could not find the main class,java.lang.UnsupportedClassVersionError: Bad version numb_第2张图片

 


你可能感兴趣的:(java,jvm,jdk,MyEclipse,jar,Class)