使用hibernate-tools时出现java.lang.NoSuchMethodError:net.sf.ehcache.config.CacheConfiguration.isTerra...
使用hibernate-tools时出现java.lang.NoSuchMethodError:net.sf.ehcache.config.CacheConfiguration.isTerra...
猪刚烈 发表于3年前
使用hibernate-tools时出现java.lang.NoSuchMethodError:net.sf.ehcache.config.CacheConfiguration.isTerra...
  • 发表于 3年前
  • 阅读 29
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

使用hibernate-tools时出现java.lang.NoSuchMethodError:net.sf.ehcache.config.CacheConfiguration.isTerracottaClustered()错误,具体异常是:
java.lang.NoSuchMethodError: net.sf.ehcache.config.CacheConfiguration.isTerracottaClustered()Z
    at net.sf.ehcache.hibernate.HibernateUtil.loadAndCorrectConfiguration(HibernateUtil.java:48)
    at net.sf.ehcache.hibernate.EhCacheRegionFactory.start(EhCacheRegionFactory.java:66)
    at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:221)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1341)
    at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
    at org.hibernate.console.ConsoleConfiguration$4.execute(ConsoleConfiguration.java:555)
    at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:63)
    at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:98)
    at org.hibernate.console.ConsoleConfiguration.buildSessionFactory(ConsoleConfiguration.java:550)
    at org.hibernate.eclipse.console.workbench.LazySessionFactoryAdapter.getChildren(LazySessionFactoryAdapter.java:43)
    at org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.getChildren(BasicWorkbenchAdapter.java:100)
    at org.hibernate.eclipse.console.workbench.BasicWorkbenchAdapter.fetchDeferredChildren(BasicWorkbenchAdapter.java:106)
    at org.eclipse.ui.progress.DeferredTreeContentManager$1.run(DeferredTreeContentManager.java:234)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

通过排查基本上断定是hibernate-tools的3.3.1版本不支持新的ehcache配置方式导致的。因为在我的hibernate.cgf.xml中,使用的是<property name="hibernate.cache.region.factory_class">net.sf.ehcache.hibernate.EhCacheRegionFactory</property>来配置ehcache的,这是ehcache新的配置方式,从异常的层级关系上看,应该是hibernate-tools插件本身不支持这配制方式,改用<property name="hibernate.cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</property>来配制后问题解决。

共有 人打赏支持
粉丝 22
博文 708
码字总数 110
作品 1
×
猪刚烈
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: