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版本即可。
附:
最新文章
- WPF 自定义窗口
- C# 中使用Word文档对图像进行操作
- Python 基礎 - 淺copy補充說明
- ckeditor插件
- Java堆内存的十个要点
- ecshop 后台模板设置-》设置模板
- 新建samba配置步骤
- s3c2440 mpll
- 关于SQL表联接
- android 通过工具抓包
- oracle SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解
- Pascal、VB、C#、Java四种语法对照表
- cocos2d-x设计模式发掘之五:防御式编程模式
- jz2440: linux/arch/arm/下面的plat-和mach-
- Angular - - angular.forEach、angular.extend
- Excel文件上传,高亮错误的行和列
- excel 八位二进制转换为十六进制公式
- Windows环境下实现Consul服务注册和服务发现
- css文本垂直居中
- FireDAC 下的 Sqlite [1] - 前言
热门文章
- [opengl]Clion配置opengl
- Jquery中 .empty()和.append()
- 必会SQL练习题
- 关于查询ios的app更新的历史版本记录
- React Native图片缓存解决方案
- php接口签名验证
- Java_JVM参数-XX:MaxDirectMemorySize 与 两种 ByteBuffer: heap,direct ByteBuffer
- nginx 和 tp兼容pathinfo和rewrite两种url访问方式
- idea中xml打开方式变成file,代码变成灰色
- shell脚本 快照还原Hbase数据库