java.lang.NoClassDefFoundError:org / hibernate / cache / spi / RegionFactory - 从spring 3升级到spring 4

时间:2015-04-22 13:08:41

标签: java spring hibernate maven spring-mvc

我将我的spring项目从3.0.5更新到4.0.3。

一切都很好,但是在启动时,当春天尝试创建bean时,我正在点击此错误消息:

enter image description here

该类当然不存在于ehcache-core,hibernate-ehcache或hibernate-core中。实际上,包spi并不存在于它看来的任何地方。但是,我检查了maven依赖项,看起来像spring 4.0.3和hibernate 3.6.10应该是完全兼容的。在我的pom中,我直接依赖于hibernate-ehcache,它反过来自动引入适当版本的ehcache-core(显然是完成的事情),如下所示:

我的依赖关系看起来像:

enter image description here

enter image description here

我已经广泛搜索了这个错误,但只能找到它的几个引用。鉴于它的默默无闻,我猜测它是我项目中某个引用这个RegionFactory类的配置,但是,尽管进行了大量搜索,但我找不到任何东西。

我有什么想法如何用Spring 4.0.3建立这个项目?

我可以提供您需要的任何其他数据。

关键是要针对Spring 4.0.3进行项目构建。无论什么版本的hibernate或ehcache使我能够做到这一点并不重要。显然,我的优先选择是改变代码而不是改变代码......但我会采取我现在可以得到的东西。

编辑: 我试图避免更新我的hibernate过去4.xy ,因为这个项目非常庞大并且非常广泛地使用HibernateDaoSupportHibernateTemplate(数以千计的独立用法,需要很长时间才能重构)

1 个答案:

答案 0 :(得分:3)

更新Hibernate版本。

在Hibernate版本4.0.0.Final之后,他们从RegionFactory中查找包。

3.6.10.Final: org.hibernate.cache.RegionFactory 4.0.0.Final: org.hibernate.cache.spi.RegionFactory。