转载自 http://www.cnblogs.com/cczhoufeng/archive/2013/01/28/2879552.html
问题:使用eclipse开发的时候,修改了一下jdk,从1.6修改成了1.7,报错:Unsupported major.minor version 51.0
jdk对应版本号:
J2SE 9 = 53
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
解决方法:
1. 当前项目为选中模式下(就是鼠标点击一下当前项目名),然后选择“project”--"properties"--"project facets"中的"java"更改为1.7
2. "window"--"preferences"--"java"--"compiler"中"compiler compliance level"更改为1.7
3. "window"--"preferences"--"tomcat"--"jvm settings"中"jre"更改为当前安装的jdk
4. "package explorer"包资源管理器显示模式下,选中项目,鼠标右键"build path"--"configure build path"--"libraries"选项卡--"jre system library"选择和第三步一致的已经安装的jdk
保持4个jdk版本一致,就能正确编译项目了
注:在eclipse中开发的项目有个java build path中可以配置的jdk,还有个java compiler中可以配置compiler level,这两个是有区别的,build path的JDK版本是你开发的时候编译器需要使用到的,就是你在eclipse中开发代码,给你提示报错的,编译的过程;java compiler compliance level中配置的编译版本号,这个编译版本号的作用是,你这个项目将来开发完毕之后,要放到服务器上运行,那个服务器上JDK的运行版本
在eclipse中进行开发的时候,build path 中JDK进行类库的编译(就是你使用类在不在这个JDK中),java compiler compliance level是对这个项目语法的编译(就是你的项目中语法的正确与否),在开发的过程中,这两个地方是都起作用的。所以说,最最安全的做法,是build path 和 java complier compliance level和服务器配置的JDK都保持一致,就不会出现任何问题的。