前言:
在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版本即可。
附: