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了。