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

问题描述 投票:0回答:1

我正在将我的 Spring 项目从 3.0.5 更新到 4.0.3。

一切都构建得很好,但是在启动时,当 spring 尝试创建 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.Release 构建项目。无论 hibernate 或 ehcache 的哪个版本都可以让我做到这一点并不重要。显然我的偏好是 pom 更改而不是重新配置而不是更改代码......但我会采取此时我能得到的。

编辑: 我试图避免将我的 hibernate 更新到 4.x.y 以后,因为这个项目非常大,并且非常广泛地使用

HibernateDaoSupport
HibernateTemplate
(数千个独立用法,需要很长时间才能重构)

java spring hibernate maven spring-mvc
1个回答
4
投票

更新 Hibernate 版本。

在 Hibernate 版本 4.0.0.Final 之后,他们更改了 RegionFactory 中的包。

org.hibernate.cache.RegionFactory:3.6.10.Final

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

© www.soinside.com 2019 - 2024. All rights reserved.