我是靠谱客的博主 大力巨人,最近开发中收集的这篇文章主要介绍jdk版本不匹配问题UnsupportedClassVersionError:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

线上环境jdk版本为1.7

如果本地程序以1.8版本打包部署,则会报如下错误:

java.lang.UnsupportedClassVersionError: com/tydic/comm/CommTools com.tydic.servlet.DataReportJsonServlet.doPost(DataReportJsonServlet.java:84)

通过sublimetext打开class文件,可以看到字节码。

其中0000 表示子版本号,0034表示主版本号。即版本号为0x0034=52,jdk版本为1.8

jdk版本主版本号次版本号
1.0443
1.1453
1.2460
1.3470
1.4480
1.5490
1.6500
1.7510

1.8

520

 

dk中包含工具java.exe(作用:启动虚拟机运行字节码文件)、javac.exe(作用:将java源文件编译为字节码文件),jdk和java、javac的版本是一致的。javac决定class文件的版本号。

当java.exe运行字节码文件时,首先检查字节码文件的版本号。当字节码文件版本号对应的jdk版本小于等于java.exe的版本时可以正常运行,软件兼容。反之则不行。即1.9的javac编译的字节码文件,1.8的java.exe运行就会报错

 

 

 

最后

以上就是大力巨人为你收集整理的jdk版本不匹配问题UnsupportedClassVersionError:的全部内容,希望文章能够帮你解决jdk版本不匹配问题UnsupportedClassVersionError:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部