Eclipse使用高版本的jdk编译低版本的class文件的方法

如题,在这两天使用eclipse工具编译代码时,编译出来的class文件拿UE工具查看,版本为1.8版本的,而本地使用的tomcat版本是1.6的,运行中报错Unsupported major.minor version 52.0 

JDK版本和Java编译器内部的版本号

J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45

看错误明知是jdk版本不正确,打出来的版本又运行不了,无奈上网查找相关文档,

拿UE工具查看编译出来的文件如下图:

如图位置,显示的是32,32为1.6版本的编译文件,而我这几天编译的文件一直显示的数字是34,对应的jdk为1.8,网上给出的JDK版本对应关系为:

版本号 对应十进制 JDK版本号
2E 46 jdk1.2
2F 47 jdk1.3
30 48 jdk1.4
31 49 jdk1.5
32 50 jdk1.6
33 51 jdk1.7
34 52 jdk1.8

了解了对应关系后,想到就知道,我编译的文件1.8的class在1.6的环境一定会报错,因此想到eclipse工具编译是否可以使用jdk1.8编译出JDK1.6版本的class文件,经过查找发现在java工程上右键,“Properties” - "JAVA Compiler"中如下配置:

 首先,将"use default compiliance settings"的复选框的勾选去掉,然后将"Generated .class files compatibility" 和 "Source compatibility"两个选项修改为1.6,重新编译后,class文件就被编译为1.6版本的class文件,运行中将不再报错.

猜你喜欢

转载自www.cnblogs.com/symbol8888/p/11933113.html