java.lang.UnsupportedClassVersionError: JVMCFRE003

今天升级了一个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***/

你可能感兴趣的:(java.lang.UnsupportedClassVersionError: JVMCFRE003)