1. 程式人生 > >AnnotationTransactionAttributeSource is only available on Java 1.5 and higher

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