java.lang.IllegalStateException: Context namespace element ‘annotation-config’ and its parser class
項目中用的是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,內容如下:
?
我這里只是添加了這個文件,并沒有替換之前的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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java:假设车库有3个车位(可以通过b
- 下一篇: 在SSH整合过程中:org/hibern