查看Java .class文件版本号
简介
本文将介绍如何查看.class文件和jar文件的Java发行版本。
Java .class 版本号
编译Java文件时,将生成一个.class文件。在某些情况下,我们需要找到已编译类文件的Java发行版本。
每个Java主版本为它生成的.class文件分配一个主版本。
在这个表中,我们将.class的主版本号映射到引入该类版本的JDK版本,并显示该版本号的十六进制表示:
| Java SE | Released | Major | Supported majors | 
| 1.0.2 | May 1996 | 45 | 45 | 
| 1.1 | February 1997 | 45 | 45 | 
| 1.2 | December 1998 | 46 | 45 .. 46 | 
| 1.3 | May 2000 | 47 | 45 .. 47 | 
| 1.4 | February 2002 | 48 | 45 .. 48 | 
| 5 | September 2004 | 49 | 45 .. 49 | 
| 6 | December 2006 | 50 | 45 .. 50 | 
| 7 | July 2011 | 51 | 45 .. 51 | 
| 8 | March 2014 | 52 | 45 .. 52 | 
| 9 | September 2017 | 53 | 45 .. 53 | 
| 10 | March 2018 | 54 | 45 .. 54 | 
| 11 | September 2018 | 55 | 45 .. 55 | 
| 12 | March 2019 | 56 | 45 .. 56 | 
| 13 | September 2019 | 57 | 45 .. 57 | 
| 14 | March 2020 | 58 | 45 .. 58 | 
| 15 | September 2020 | 59 | 45 .. 59 | 
| 16 | March 2021 | 60 | 45 .. 60 | 
| 17 | September 2021 | 61 | 45 .. 61 | 
| 18 | March 2022 | 62 | 45 .. 62 | 
| 19 | September 2022 | 63 | 45 .. 63 | 
| 20 | March 2023 | 64 | 45 .. 64 | 
| 21 | September 2023 | 65 | 45 .. 65 | 
使用javap命令检查Class文件版本号
我们可以使用javap命令,查看.class文件的版本号。
javap -v xxx.class | grep version
以上命令输出结果可能是:
minor version: 0 major version: 55
检查jar文件版本号
在 Java 中,jar 包是一种常用的打包和分发 Java 类的格式。如果你想查看一个 jar 包是使用哪个 JDK 版本编译的,可以有2种方法。
方法一
解压jar包,然后使用javap查看.class文件的版本号。
方法二
jar包中还有一个MANIFEST文件,其中包含有关所使用JDK的一些头信息。
Build-Jdk: 17.0.4
Created-By: 17.0.4
Build-Jdk-Spec: 20