今天升级了一个jar包,运行后,报
java.lang.UnsupportedClassVersionError: JVMCFRE003 主要版本错误 偏移量=6
主要原因:JDK版本不一致。jar包依赖的jdk版本不一致。
经分析是版本运行环境是1.6,而升级的jar包是require1.7的,因此报错。
如何查看jar包jdk版本?
通过反编译,META-INF中的MANIFEST.MF中,有相关描述。如:
Build-Jdk-Spec:1.8
Require-Capbility: xxxx (version=1.7)
X-Compile-Source-JDK:1.7
X-Compile-Target-JDK:1.7
如何查看已经编译的class文件的jdk版本?
[如何查看jar包的是用什么jdk版本编译的]https://blog.csdn.net/lucky_ly/article/details/101101865
$ javap -v App.class
/***jdk版本和major version对应关系:
JDK 1.8 = 52,
JDK 1.7= 51,
JDK 1.6= 50,
JDK 1.5 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45***/
网友评论