码迷,mamicode.com
首页 > 编程语言 > 详细

Java - Class版本号和UnsupportedClassVersionError

时间:2018-11-12 23:57:37      阅读:341      评论:0      收藏:0      [点我收藏+]

标签:lang   lan   版本号   http   hat   版本   version   rtu   sdn   

问题分析

Java是向下兼容的,每一个jdk版本都有对应的class版本号(major + minor version numbers);如果用低版本的jvm去加载高版本jdk编译的类,就会报错:java.lang.UnsupportedClassVersionError

源码中关于这个UnsupportedClassVersionError的注释如下:

/**
* Thrown when the Java Virtual Machine attempts to read a class
* file and determines that the major and minor version numbers
* in the file are not supported.
*
* @since 1.2
*/

Java版本对应的Class版本号

Java版本 Class版本
JDK1.0.2 45.0~45.3
JDK1.1 45.0~46.0以下
J2SE1.2 46.0
J2SE1.3 47.0
J2SE1.4 48.0
JavaSE5 49.0
JavaSE6 50.0
JavaSE7 51.0
JavaSE8 52.0

解决方法

把类重新用当前的jdk版本去编译,只要确保jvm的版本比类版本号相同或更高就可以了。

参考链接

Java - Class版本号和UnsupportedClassVersionError

标签:lang   lan   版本号   http   hat   版本   version   rtu   sdn   

原文地址:https://www.cnblogs.com/yulinlewis/p/9949452.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!