Something

首页 / 文章 / RSS

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

参考