最近我正在將一個簡單的Grails應用程序與Searchable插件集成在一起。我發現的是,可搜索插件不適用於Hibernate 4庫。Grails 2.4 + Hibernate 4 +可搜索插件= ClassNotFoundException:org.hibernate.impl.SessionFactoryImpl
在這裏你可以找到一個只包含乾淨的Grails只檢索插件2.4應用程序示例應用程序添加 - https://github.com/wololock/grails-searchable-example
當我運行這個程序有:
runtime ":hibernate4:4.3.5.5"
依賴,它不會啓動並拋出例外:
ClassNotFoundException: org.hibernate.impl.SessionFactoryImpl
我已經發現的是,在Hibernate4 SessionFactoryImpl被移到了org.hibernate.inte它似乎RNAL包像指南針尋找這個類在原來的位置:
2014-10-11 19:41:58,142 [localhost-startStop-1] ERROR context.GrailsContextLoaderListener - Error initializing the application: org/hibernate/impl/SessionFactoryImpl
Message: org/hibernate/impl/SessionFactoryImpl
Line | Method
->> 95 | injectLifecycle in org.compass.gps.device.hibernate.lifecycle.DefaultHibernateEntityLifecycleInjector
切換回:
runtime ":hibernate:3.6.10.17"
,並在DataSource.groovy中做出決議改變
cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory'
問題。
我的問題是:是否有任何解決方法使用可搜索插件與Hibernate 4或我們必須等待或解決Compass /可搜索源代碼中的問題?你在Grails應用程序中是如何處理這個問題的?我會很感激你的提示。
答案這是血淋淋的裂紋我的Grails ......所有這些美妙的插件,從來沒有使用Grails的最新版本的工作,所以令人沮喪不得不花費的99%時間尋找修補程序和解決方法 – 2015-09-06 09:26:06