java jdk版本影响令牌_Java JDK 版本是否兼容

需求

有时候我们生产是 Jdk7 的版本,但是很多框架都是使用的 jdk8+ 的包编译而成的。

我们知道 jdk8 编译的代码是无法运行在 jdk7 上的。

所以知道一个 jar 的具体编译版本很重要。

maven 查看

方法

直接查看 jar 包中的文件:MANIFEST.MF 文件,一般内容如下:

Manifest-Version: 1.0

Bnd-LastModified: 1381889304975

Build-Jdk: 1.7.0_25

Created-By: Apache Maven Bundle Plugin

其中 Build-Jdk 就是编译的 jdk 版本

准确性

这个有时候可能是不准确的。

以为是编译版本,不是打包版本。

我们可以使用 jdk8 打包出 jdk7 的版本。

那怎么办呢?

javap -verbose 方式

获得 class 文件

直接解压 jar 包,随便拷贝其中的一个 class 文件。

放在一个容易找的路径

使用 javap -verbose 命令

直接到对应的目录下。

javap -verbose xxx.class

信息大概如下:

Last modified 2019-8-27; size 1933 bytes

MD5 checksum e3e44724eafde0cd11c30660c8793c15

Compiled from "User.java"

public class com.xxx.User

minor version: 0

major version: 51

flags: ACC_PUBLIC, ACC_SUPER

其中 major version: 51 就是我们需要找的重要内容。

每一个大版本,都有唯一的 jdk 版本与其对应。

major version 与 jdk 的版本对应

jdk版本

major.minor version

1.1

45

1.2

46

1.3

47

1.4

48

1.5

49

1.6

50

1.7

51

1.8

52

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值