JDK6编译出来的class文件不能运行在JDK5的虚拟机上,因此用Eclipse开发/运行/打包项目时要注意Java编译器的版本,有3个位置(范围从大到小)会影响Java编译器的版本:
-
Eclipse级全局JRE:Window->Preferences->Java->Installed JREs;
-
项目级JRE:Project->Properties下的:
-
Build Path -> Libraries -> JRE System Library;
-
Java Compiler -> JDK Compliance;
-
Run/Debug Configuration级JRE: 在这个Configuration的"JRE"标签页中设置;
确定class文件版本的方法是查看class文件的第7个字节: 0x31-> JDK5, 0x32 ->JDK6, 0x33 ->JDK7;
class文件格式的详细介绍见 Java class file .