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包添加到構建路徑便可以了

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