Hibernate框架使用中出现could not instantiate RegionFactory 异常的解决方法

二级缓存配置如下:

<!-- 指定要使用的缓存的提供商,打开二级缓存-->
<property name="hibernate.cache.use_second_level_cache">
    true
</property>
<property name="hibernate.cache.provider_class">
    org.hibernate.cache.EhCacheProvider
</property>
<!-- 开启使用查询缓存 -->
<property name="cache.use_query_cache">true</property>

如果使用了org.hibernate.cache.EhCacheProvider缓存相关的类请先检查项目所引用的库包含哪些jar包

要使用二级缓存所需要使用的库如下所示:
这里写图片描述

抛could not instantiate RegionFactory异常时本人引用的库
这里写图片描述

如果是缺少方框内的jar包导致的异常,没有时间后面的内容可以不看,后面内容主要分析出错原因。

具体原因分析如下:

来看一下抛出的异常:
这里写图片描述


重点在方框里
这里写图片描述

可以看出抛异常是因为缺少所需要的类,按照提示是缺少了跟异常有关的jar包,因此需要在构建路径里添加ehcache-2.10.3.jar

这里写图片描述

导入ehcache-2.10.3.jar包还抛如下异常
java.lang.NoClassDefFoundError:org/apache/commons/logging/LogFactory
这里写图片描述
表明缺少了commons-logging-1...jar包导入该jar包便不会抛出此异常了


如果还出现如下异常


这里写图片描述

则需再把backport-util-concurrent.jar包添加到构建路径便可以了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章