前言:
在eclipse中用到spring2.0的web项目,启动elipse自带的tomcat7,tomcat7报错如下:
AnnotationTransactionAttributeSource is only available on Java 1.5 and higher
出错原因:
因为spring core org.springframework.core.JdkVersion.java不支持Jdk1.8。支持的Jdk版本分别为1.3(default),1.4, 1.5, 1.6 and 1.7,如果检测到Tomcat配置的不是1.4, 1.5, 1.6, 1.7,那么就认为是1.3,所以会报这个错。
解决方案:
解决方法是将Jdk1.8降到1.7,或者升级spring版本,使其支持Jdk1.8。
我尝试将Jdk1.8降到1.7,亲测可行,但要注意几个地方都要改。(仅作用于elipse,其他IDE大体思路雷同)
1、右键该项目->Build Pah->Configure Build Path->java Build Path->选中当前jdk点击编辑(具体如下图)
2、点击alternate JRE->选择jdk1.7(具体如下图)
3.去修改该项目所在ecipse工作空间中的 .setting 文件夹下的org.eclipse.wst.common.project.facet.core.xml中的<installed facet="java" version="1.7"/>,
否则其自带的Tomcat7将会报Project facet Java version 1.8 is not supported错误。
p.s.
因为eclipse的使用需要读取JAVA_HOME环境变量,较新的要求是jdk1.8y以上,否则还打不开呢。
当我们项目需要用到低版本的jdk,重复上文的1步骤,然后再添加低版本jdk安装位置。(具体如下图)
最后选择你的其他jdk版本即可。
附: