AnnotationTransactionAttributeSource is only available on Java 1.5 and higher

Posted 灰色遗忘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AnnotationTransactionAttributeSource is only available on Java 1.5 and higher相关的知识,希望对你有一定的参考价值。

前言:

  在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版本即可。

 

附:

 

 

 

 

 

  

  

以上是关于AnnotationTransactionAttributeSource is only available on Java 1.5 and higher的主要内容,如果未能解决你的问题,请参考以下文章