项目中用的是spring低版本(2.5.6),今天用jre 8测试了一下,发现错误:
Unexpected exception parsing XML document from class path resource [applicationContext-dao.xml]; nested exception is java.lang.IllegalStateException: Context namespace element ‘annotation-config’ and its parser class [org.springframework.context.annotation.AnnotationConfigBeanDefinitionParser] are only available on JDK 1.5 and higher

看源码是org.springframework.context.annotation.AnnotationConfigBeanDefinitionParser自动检测,jdk版本检测时需要jre1.5以上版本,但是JdkVersion只检查到了1.7,jre1.8 时不匹配任何jdk,按如下方法处理,可以解决问题。

1、在项目中创建一个package为org.springframework.core
2、在该package下面新建JdkVersion.java,内容如下:

package org.springframework.core;public abstract class JdkVersion {public static final int JAVA_13 = 0;public static final int JAVA_14 = 1;public static final int JAVA_15 = 2;public static final int JAVA_16 = 3;public static final int JAVA_17 = 4;//for jre 1.8public static final int JAVA_18 = 5;private static final String javaVersion = System.getProperty("java.version");private static final int majorJavaVersion;public static String getJavaVersion() {return javaVersion;}public static int getMajorJavaVersion() {return majorJavaVersion;}public static boolean isAtLeastJava14() {return true;}public static boolean isAtLeastJava15() {return getMajorJavaVersion() >= 2;}public static boolean isAtLeastJava16() {return getMajorJavaVersion() >= 3;}static {//for jre 1.8if (javaVersion.indexOf("1.8.") != -1) {majorJavaVersion = 5;}else if (javaVersion.indexOf("1.7.") != -1) {majorJavaVersion = 4;} else if (javaVersion.indexOf("1.6.") != -1) {majorJavaVersion = 3;} else if (javaVersion.indexOf("1.5.") != -1) {majorJavaVersion = 2;} else {majorJavaVersion = 1;}}
}

我这里只是添加了这个文件,并没有替换之前的spring.jar下的文件,很神奇竟然也可以了。

因为我做的项目是比较早的,所以直接用的别人的jar包。有些版本不匹配。所以报的错。我用的JDK的版本是1.8.应该换成1.7就OK了。

这个方式比较直接,比较好。

这些问题都可以百度得到。


3、到项目的WEB-INF/classes 下面找到对应的package中的JdkVersion.class文件
4、将项目中的spring-core-2.5.6.jar拷贝出来打开,然后将JdkVersion.class替换jar包中的该文件。
5、将修改后的spring-core-2.5.6.jar再覆盖到项目中。

java.lang.IllegalStateException: Context namespace element ‘annotation-config’ and its parser class相关推荐

  1. nested exception is java.lang.IllegalStateException: Context namespace element 'annotation-config' a

    公司还用的是spring低版本,今天用jre 8测试了一下,发现错误: Unexpected exception parsing XML document from class path resour ...

  2. Spring Boot整合Nacos时遇到 java.lang.IllegalStateException: Context has been already given a name 的解决办法

    问题概述 在进行项目开发过程中,通过Spring Boot整合Alibaba Nacos的服务注册与发现和配置中心时,遇到个梗,启动时打印出一串错误日志信息 " Failed to rena ...

  3. IDEA| java.lang.IllegalStateException: Failed to introspect Class [org.springframework.cloud.context

    问题:java.lang.IllegalStateException: Failed to introspect Class [org.springframework.cloud.context.pr ...

  4. java.lang.IllegalStateException: failed to req API:/nacos/v1/ns/instance after all servers

    本地微服务注册不上nacos 报错 java.lang.IllegalStateException: failed to req API:/nacos/v1/ns/instance after all ...

  5. java.lang.IllegalStateException: Cannot load configuration class: org.springframework.session.data.r

    java.lang.IllegalStateException: Cannot load configuration class: org.springframework.session.data.r ...

  6. JUnit测试类报错:java.lang.IllegalStateException: Failed to load ApplicationContext

    问题描述 运行JUnit测试类时,报以下错误信息: java.lang.IllegalStateException: Failed to load ApplicationContextat org.s ...

  7. IDEA热布署报错java.lang.IllegalStateException: Restarter has not been initialized

    在IDEA导入devtools依赖实现热布署,启动后遇到如下问题 java.lang.IllegalStateException: Restarter has not been initialized ...

  8. Caused by: java.lang.IllegalStateException: Failed to introspect Class

    Spring-Data-ElasticSearch整合spring boot问题 Caused by: java.lang.IllegalStateException: Failed to intro ...

  9. eureka client无法启动,java.lang.IllegalStateException: Failed to introspect Class

    报错异常: java.lang.IllegalStateException: Failed to introspect Class [org.springframework.cloud.netflix ...

最新文章

  1. LTE: 系统内移动性知识点总结
  2. 深度学习的batch_size
  3. Java反射机制浅析
  4. Mpg123源代码详解
  5. 创建用户,并加入sudo组
  6. 什么是语音复用设备?
  7. Shell入门教程:命令替换 $() 和 ``
  8. 麦克马斯特大学计算机科学硕士,2020年麦克马斯特大学硕士要上多久才能毕业...
  9. CentOS 6.8下ELK+filebeat+redis 日志分析平台
  10. viper4android最新版卡刷包,viper4android fx音效驱动
  11. xpath mysql_xpath查询是否具有像mysql这样的Limit选项
  12. 音频功率放大器,250种功放电路图集锦,文件是JPG文件
  13. (XWZ)的Python学习笔记Ⅱ------面向对象编程
  14. 2018年我的开发管理总结
  15. 波兰计算机留学,波兰(Rzeczpospolita Polska)留学申请全面解析
  16. 常见的计算机专业词汇
  17. MVC view页面需要多个model,复杂网页的处理
  18. 南方cass简码识别大全_cass-简码识别详细分解.doc
  19. ar vr mr 计算机技术,VR、AR、MR、还有云计算,他们到底是什么?
  20. 计算机信息安全四大要素,信息安全四大要素-信息安全包括四大要素

热门文章

  1. eclipse调试报错,无法进入类
  2. [WPF]WPF中材质制作——图片和矢量图之争
  3. 项目小结之数据库设计
  4. 制定统一业务逻辑基础规则
  5. 注水法比特功率分配介绍及MATLAB实现
  6. gdb C++程序coredump不显示行号问题
  7. ELS多种方式集群部署
  8. VS+QT和qtcreator工程的互相转换
  9. C++17中那些值得关注的特性(上)
  10. 如何在O(1)的时间里删除单链表的结点