jar查看编译版本
A. 如何查看Class文件编译的JDK版本
准备好要查看的class文件,本例使用Tools.class文件。
如何查看class文件的jdk版本
使用Ultra Edit打开class文件
如何查看class文件的jdk版本
如果显示效果如下图一样,则表示默认使用的是16进制方式显示。
如何查看class文件的jdk版本
如果不是16进制方式,则显示为下图的乱码样式。此时需要点击菜单上的【切换为十六进制编辑模式】
如何查看class文件的jdk版本
只看第一行的数据:
(1)前面8个字节CA FE BA BE是固定的。
(2)随后4个字节00 00是次版本号
(3)再后面的4个字节00 34是JDK的版本号(JDK1.8)。
JDK版本号对应关系如下:
34(对应十进制的50):JDK1.8
33(对应十进制的50):JDK1.7
32(对应十进制的50):JDK1.6
详细见第5步.......
如何查看class文件的jdk版本
详细的JDK版本对应关系:
34(对应十进制的50):JDK1.8
33(对应十进制的50):JDK1.7
32(对应十进制的50):JDK1.6
31(对应十进制的49):JDK1.5
30(对应十进制的48):JDK1.4
2F(对应十进制的47):JDK1.3
2E(对应十进制的46):JDK1.2
B. 如何获取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的版本号必须和虚拟机相对应,否则会出现版本不支持的错误。
C. 如何查看jar包的编译版本
随便找到JAR包文件中的c某个class文件,看一下class文件的前面几个16进制是多少,就可以知道编译的JDK版本了 具体的JDK版本号对应的版本名称可以查看网页链接这篇文章
D. 如何查看Class文件编译的JDK版本
查看class文件编译的jdk版本步骤如下:
首先打开cmd命令行窗口,输入如下指令:
E. 如何看一个jar 包的jdk版本号
用7-zip打开.jar包,查看META-INFMANIFEST.MF中的内容,Build-Jdk属性就是JDK的版本,比如:
Build-Jdk: 1.5.0_221
说明其JDK版本为1.5.0.22。
注意:一个.jar文件中,如果没有这个字段,就必须通过下面一种方法来查看
通过反编译.class文件来查看
解压.jar包,能得到.class文件。用JDK自带的javap反编译.class文件,用如下命令:
javap -verbose Configuration.class1
查看得到的信息中,major version属性的内容,如下
major version: 521
说明这个.class文件是由JDK1.8编译得到的。
J2SE 6.0 = 50 (0x32 hex)
J2SE 5.0 = 49 (0x31 hex)
JDK 1.4 = 48 (0x30 hex)
JDK 1.3 = 47 (0x2F hex)
JDK 1.2 = 46 (0x2E hex)
JDK 1.1 = 45 (0x2D hex)
注意:一个.jar包中可能有多个.class文件,每个.class的JDK版本可能会不一样(编译器多个项目设置不同)