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

你还不知道java程序maven打包后如何查看jar的编译版本,过来看看有时候我们需要知道一个 jar 是 编译是依赖 JAVA 哪个版本的需求 如 我们知道该程 sjjcb dev lyq example jdk11 jar 编译 JDK 是 11 但是具体生产的类是 11 还是其他的呢

大家好,欢迎来到IT知识分享网。

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

如:

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

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

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

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

用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

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

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

<maven.compiler.source>11</maven.compiler.source>

<maven.compiler.target>11</maven.compiler.target>

重新修改maven settings.xml

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

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

检查编译后的类

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

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

你学会了吗?

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/178378.html

(0)
上一篇 2025-05-11 08:33
下一篇 2025-05-11 09:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信