java.lang.NoClassDefFoundError : org/hibernate/cache/spi/RegionFactory - When upgrading from spring 3 to spring 4 错误

标签 java spring hibernate maven spring-mvc

我正在将我的 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 之后,因为这个项目非常大并且使用 HibernateDaoSupportHibernateTemplate 非常广泛(数以千计的需要很长时间重构的独立用法)

最佳答案

更新 Hibernate 版本。

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

3.6.10. final : org.hibernate.cache.RegionFactory 4.0.0.最终: org.hibernate.cache.spi.RegionFactory.

关于java.lang.NoClassDefFoundError : org/hibernate/cache/spi/RegionFactory - When upgrading from spring 3 to spring 4 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29798583/

相关文章:

java - 由于 id 为空,Grails 属于关系在保存时失败

java - Jackson 2.0 Afterburner 节点缺失问题

java - 无法使 if 语句起作用

java - 如何检查字符串是否仅包含Java中的数字

Spring 无法识别某些 @Configuration 和 @Component 类

java - 返回对象的特定修订版

java - 找出 GCP IAM 中服务帐户 key 的最后一个 Activity

java - Spring DI NullPointerException @Autowired 失败

html - Spring Thymeleaf 如何使用 select 和 option html 标签在数据库中保存特定值

初始化时出现 java.lang.NoSuchMethodError 错误。 session 工厂