今天升級了一個jar包,運行后,報
java.lang.UnsupportedClassVersionError: JVMCFRE003 主要版本錯誤 偏移量=6
主要原因:JDK版本不一致。jar包依賴的jdk版本不一致。
經(jīng)分析是版本運行環(huán)境是1.6,而升級的jar包是require1.7的,因此報錯。
如何查看jar包jdk版本?
通過反編譯,META-INF中的MANIFEST.MF中,有相關(guān)描述。如:
Build-Jdk-Spec:1.8
Require-Capbility: xxxx (version=1.7)
X-Compile-Source-JDK:1.7
X-Compile-Target-JDK:1.7
如何查看已經(jīng)編譯的class文件的jdk版本?
[如何查看jar包的是用什么jdk版本編譯的]https://blog.csdn.net/lucky_ly/article/details/101101865
$ javap -v App.class
/***jdk版本和major version對應關(guān)系:
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***/