① 如何查看jar包的编译版本
随便找到JAR包文件中的c某个class文件,看一下class文件的前面几个16进制是多少,就可以知道编译的JDK版本了 具体的JDK版本号对应的版本名称可以查看网页链接这篇文章
② 检查class文件的编译版本
用maven做项目依赖管理,依赖了一个其他组开发的一个基础包。结果,在使用maven进行编译打包的时候,报了错: Unsupported major.minor version 51.0。
注:我本机上目前只安装了 jdk 1.8
使用Eclispse自带的工具,即使看不到源码,也还可以看到该class当时编译器的版本。
如果没有eclipse,也可以使用java自带的工具,查看 class的编译器版本号。
或者
我们可以看一下 jdk版本和major version对应关系:
J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45
由此,可以说明 ,依赖的jar包是经过jdk1.7 的编译器进行编译的。
③ 如何获取jar包的jdk版本号
1,通过class文件
将编译出来的class文件拖入到eclipse下,如:
可以看到,版本号为1.5
2,javap命令查看
javap MediaManager -verbose > majorver.txt
其中MediaManager为类名,将版本信息输出到majorver.txt,版本信息如下:
可以看到jdk版本为47。major version和jdk版本对应关系如下:
Major version Java
46 Java 1.2
47 Java 1.3
48 Java 1.4
49 Java 5
50 Java 6
51 Java 7
jar的版本号必须和虚拟机相对应,否则会出现版本不支持的错误。
④ 如何查看Class文件编译的JDK版本
查看class文件编译的jdk版本步骤如下:
首先打开cmd命令行窗口,输入如下指令: