你还不知道java程序maven打包后如何查看jar的编译版本,过来看看

createh54周前 (02-18)技术教程26

有时候我们需要知道一个jar是 编译是依赖JAVA 哪个版本的需求。

如:

我们知道该程
sjjcb-dev-lyq-example-jdk11.jar 编译JDK 是 11,但是具体生产的类是11还是其他的呢?

先找到具体的class文件的位置

用UE 16进制打开ApplicationStart.class

只看第一行:

前面8个字节CA FE BA BE是固定的

随后4个字节00 00是次版本号

再后面的4个字节00 34是JDK的版本号(JDK1.8)

JDK版本号对应关系如下:

37(对应十进制的50):JDK1.11

36(对应十进制的50):JDK1.10

35(对应十进制的50):JDK1.9

34(对应十进制的50):JDK1.8

33(对应十进制的50):JDK1.7

32(对应十进制的50):JDK1.6

我们知道这个类依赖JDK11打包,编译也是用11的

11

11

重新修改maven settings.xml

检查编译后的类

变成了34了 所以看看编译用JDK1.8打包的。


你学会了吗?

相关文章

如何使用Maven清理Java项目中没有被使用的jar包依赖?

很多人都遇到过这种情况,在自己的Maven项目中有很多没有被使用的Jar包文件,导致最终打包完成的可执行的Jar包很大,那么有没有有一种方式来将这些没有用的Jar包进行清理之后,来减少最终Jar包的大...

Java项目构建工具Gradle是否可以完全替代Maven?

大家好,我是阿迈达,有趣的互联网软件工程师。专业角度分析技术原理,幽默的态度解读科技互联网资讯。欢迎进圈交流(此处已添加圈子卡片,请到今日头条客户端查看)前言在Java项目的开发中,需要引入自动化构建...

一起学Java-06-创建Maven项目(推荐)

创建Maven项目1、填写项目信息2、创建项目后主界面左侧项目结构src/main/java:这个目录存放的是项目源码src/test/java:这个目录存放的是测试类源码src/main/resou...

Gradle 使用maven本地仓库 带来的思考

本篇主要探究一下 在使用Gradle 的时候一般会配置 maven 的本地仓库的,那是不是Gradle 可以直接使用 maven本地仓库的jar呢 ? 下面来探究一下思考当我们在使用Gradle的时候...

推荐 10 个Java 项目必备 Maven 插件

介绍Maven 是 Java 开发人员必不可少的构建和项目管理工具。它通过利用简单的项目对象模型 (POM) 自动执行构建、测试和部署 Java 应用程序的过程。Maven 插件扩展了该工具的功能,使...