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***/
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容