maven编译后 MANIFEST.MF 文件里面 jdk版本的问题

本文探讨了在Windows10环境下,使用Maven编译项目时遇到的JDK版本不一致问题。具体表现为,虽然项目配置指定使用JDK6,但MANIFEST.MF文件显示的版本为1.8。通过调整环境变量,最终使MANIFEST.MF中的版本号与期望的JDK版本一致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Windows10的电脑  安装了JDK8和JDK6。

1、有一个项目需要使用JDK6编译,maven配置如下:

2、编译生成jar包后,看到jar包里面的MANIFEST.MF 文件内显示jdk版本为1.8。

3、打开jar包里面的class文件。看到里面的版本号为32(该值为16进制的转换为10进制的值为50。对应jdk版本为1.6)

想了很久不明白为什么两个地方的版本号会是不一致。但是可以肯定的是class文件中得到的版本号1.6是我想要的版本。

后来查询到maven 生成MANIFEST.MF 文件的规则

${java.version}应该是JAVA的系统属性。使用java -version查看 得到的版本号果然是1.8.0_172。

后来修改了环境变量为1.6的jdk编译出来jar包的MANIFEST.MF文件里面版本号也是1.6了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值