網站首頁 編程語言 正文
‘configurationClass‘ must be assignable to [org.hibernate.cfg.Configuration]
作者:Jandey.柳 更新時間: 2022-10-14 編程語言先貼出報錯:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'auth2Filter' defined in ServletContext resource [/WEB-INF/applicationContext-authz.xml]: Cannot resolve reference to bean 'oauthService' while setting bean property 'oauthService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'oauthService': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'clientDetailsDAO' defined in ServletContext resource [/WEB-INF/applicationContext-dao.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext-dao.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean]: Constructor threw exception; nested exception is java.lang.IllegalArgumentException: 'configurationClass' must be assignable to [org.hibernate.cfg.Configuration]
?? ?at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)
?? ?at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)
?? ?at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1325)
?? ?at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086)
?? ?at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
?? ?at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
?? ?at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
?? ?at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
?? ?at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
?? ?at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)
?? ?at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)
?? ?... 121 more
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'oauthService': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'clientDetailsDAO' defined in ServletContext resource [/WEB-INF/applicationContext-dao.xml]: Cannot resolve reference to bean 'sessionFactory' while setting bean property 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext-dao.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean]: Constructor threw exception; nested exception is java.lang.IllegalArgumentException: 'configurationClass' must be assignable to [org.hibernate.cfg.Configuration]
我的項目是Eclipse使用JBoss容器啟動一個EJB的老項目(jboss-5.1.0.GA、EJB3.0),啟動后出現上述報錯。通過一天不斷嘗試錯誤,本地解決這個問題。
解決方法:項目中新增四個jar包:hibernate-annotations.jar、hibernate-commons-annotations.jar、hibernate-entitymanager.jar、hibernate-validator.jar。(直接從 jboss-5.1.0.GA\common\lib目錄中獲取)
----------------------------------------------------------------------------------------------------------------
如果沒有解決你的問題,可以看看下面的分析,或許對你有啟發!!!
分析問題:
這個報錯是是由hibernate引起,具體原因暫時沒有時間去分析,而且設計底層代碼,難度也比較大,需要花費大量時間。通過平時做項目的經驗,大部分是兩個原因:(1)缺少jar包;(2)jar包沖突。經過分析發現,目錄 jboss-5.1.0.GA\common\lib 下存在hibernate 的jar包,項目部署的war包中也存在部分hibernate的jar包。
第一步:考慮jar包沖突,刪除 jboss-5.1.0.GA\common\lib 中和項目相同的jar包(先備份哈),發現報錯更多了,一堆“NoClassDefFoundError”報錯,沒辦法再把刪掉的jar包一個一個拷回來。最終又全部拷回來了。(這一步比較花時間,需要耐心!)
第二步:考慮缺少jar包,從 jboss-5.1.0.GA\common\lib 中把項目缺少的相關hibernate的jar包拷貝到項目中。如果有沖突就先刪掉,來來回回可能需要嘗試幾遍。我嘗試到這里已經不再報上面的錯誤。新增的jar包有四個:hibernate-annotations.jar、hibernate-commons-annotations.jar、hibernate-entitymanager.jar、hibernate-validator.jar。
第三步:經過第二步后,還是有報錯,又新增了以下jar包:cglib-2.2.jar、asm-3.1.jar。(版本可能需要根據Spring的版本進行調整,我的是Spring3.0.6)
最后算是沒有這個報錯了。
原文鏈接:https://blog.csdn.net/csdn122325735/article/details/127287159
- 上一篇:MapStruct 代碼生成器
- 下一篇:如何查看EJB項目的版本2.0或3.0
相關推薦
- 2022-02-21 docker啟動容器錯誤:docker: Error response from daemon: O
- 2023-03-17 使用c語言輕松實現動態內存管_C 語言
- 2023-04-29 springboot整合單機緩存ehcache的實現_python
- 2023-07-14 react 如何實現富文本編輯器
- 2022-04-09 C++實現簡單的計算器功能_C 語言
- 2022-04-20 C語言特殊符號的補充理解_C 語言
- 2023-01-11 Selenium中的option使用示例_python
- 2023-01-09 python自動化測試中裝飾器@ddt與@data源碼深入解析_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支