查看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