AnnotationTransactionAttributeSource is only available on Java 1.5 and higher和windows同时安装jdk7和jdk8

发布时间 2023-09-08 18:46:37作者: oktokeep

AnnotationTransactionAttributeSource is only available on Java 1.5 and higher和windows同时安装jdk7和jdk8

出错原因: 
  因为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,所以会报这个错。

解决方法:
windows同时安装jdk7和jdk8

1.下载并安装jdk7和jdk8
2.jdk配置修改(无需)
在安装JDK时,会将java.exe、javaw.exe、javaws.exe三个文件copy到了C:\Windows\System32,若先安装jdk1.7再安装的jdk1.8,则C:\Windows\System32中的是jdk1.8。这个目录在win环境变量中的优先级高于JAVA_HOME设置的环境变量优先级。所以我们在JAVA_HOME中如何配置都会显示出java8的信息
解决方案:
1.删除C:\Windows\System32目录下的java.exe(无需)
2.安装后环境变量中的path上自动配置了C:\ProgramData\Oracle\Java\javapath;我们还需要把path中这个配置删掉,因为这个目录下也有java.exe,会优先访问这个目录。(无需)
在eclipse中新增jdk的配置可以,项目选择jdk7

3.JAVA_HOME的配置
(1).配置JAVA7_HOME和JAVA8_HOME变量,在JAVA_HOME变量中引用JAVA7_HOME或JAVA8_HOME。
(2).然后我们接着进入我们系统变量的path变量,添加%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin
CLASSPATH = .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
Path = %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

(3).切换JDK7和JDK8
如果需要用到jdk7我们只需要把我们的JAVA_HOME 引用JAVA7_HOME,命令行输入java -version出现如下java version “1.7.0_80”,切换jdk7成功!
如果需要用到jdk8我们只需要把我们的JAVA_HOME 引用JAVA8_HOME,命令行输入java -version出现如下java version “1.8.0_144”,切换jdk8成功!

 

eclipse项目目录:
F:\workspace\myProject\.settings
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<runtime name="Apache Tomcat v7.0"/>
<fixed facet="wst.jsdt.web"/>
<fixed facet="jst.web"/>
<fixed facet="java"/>
<installed facet="java" version="1.6"/>
<installed facet="jst.web" version="3.0"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>