今天升級了一個jar包恐仑,運行后择同,報
java.lang.UnsupportedClassVersionError: JVMCFRE003 主要版本錯誤 偏移量=6
主要原因:JDK版本不一致赁濒。jar包依賴的jdk版本不一致轨奄。
經(jīng)分析是版本運行環(huán)境是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
如何查看已經(jīng)編譯的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***/