一、错误现象:
当改变了jdk版本时,在编译java时,会遇到Unsupported major.minor version错误。
jdk版本和stanford parser对应关系
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
Unsupported major.minor version 52.0 这个错误网上一百度一大堆,我就简单的记一下。
简单来说,就是执行代码的jdk版本 低于 编译的jdk版本
项目中错误:java.lang.UnsupportedClassVersionError: org/springframework/web/SpringServletContainerInitializer : Unsupported major.minor version 52.0 (unable to load class org.springframework.web.SpringServletContainerInitializer)
解决办法:1、先查看项目中的jdk版本。2、因为是spring的错误,可以查看jdk版本与spring版本的兼容问题。
如题所示,出现这个问题的原因是:将高版本JDK编译的项目放到低版本JDK所在的eclipse环境中编译运行将会出现这个错误。因此,要想这个项目在低版本的环境中能够正常运行,可以按照下面的思路进行解决:
(1)查看JDK的环境变量,确保JDK环境变量已经配置正确
(2)修改Java Build Path:
在eclipse中的项目上鼠标右键,Properties –> Java Build Path –>Libraries,将这里面不存在的删掉,并重新选择当前存在的库,如:JDK1.7、Tomcat7.0等
这一步做完之后,刷新项目重新编译运行,如果仍然报错的话,请继续往下看
(3)修改Project Facets:
同上面一样,在eclipse中的项目上鼠标右键,Properties –> Project Facets
在这里,主要修改我圈上的这两项配置,上面的3.0和JDK1.7相对应,3.1和JDK1.8相对应
如果这里不能修改,或者修改后刷新项目仍然报错的话,请继续往下看
(4)修改org.eclipse.wst.common.project.facet.core.xml:
打开项目所在的文件夹,打开.settings文件夹,修改里面的“org.eclipse.wst.common.project.facet.core.xml”文件
跟上面一样,直接修改这里的版本,然后回到eclipse里的项目,刷新项目重新编译运行
(5)最后绝招:
如果以上的步骤都做完了,仍然出现这个错误的话,就只能上绝招了。那就是:
- 将源项目进行备份
- 然后在eclipse中新建一个动态Java项目
- 把源项目中的所有Java文件、配置文件、前台页面等文件统统复制到新项目中
- 编译运行新项目
我相信都做到这一步了,应该是可以解决这个问题了