CharScanner; panic: ClassNotFoundException: org.hibernate.hql.ast.HqlToken

將使用Hibernate3.0的Web應用發佈到Weblogic8.1.4上, 一旦出現訪問數據庫的操作就會出錯, 提示CharScanner; panic: ClassNotFoundException: org.hibernate.hql.ast.HqlToken, 而且Weblogic進程會被自動關閉.
經上網查證, 原因是: 在hibernate3中需要用到antlr.jar,然而這個包在weblogic.jar中已經包含了antrl類庫,就會產生一些類加載的錯誤,無法找到在war或者ear中的hibernate3.jar。而出現這個錯誤之後,antlr會調用System.exit(),這樣weblogic就會中止服務。
網上提供的解決方案是: 解決方法是在hibernate.properties文件中增加屬性:hibernate.query.factory_class,屬性的值是org.hibernate.hql.classic.ClassicQueryTranslatorFactory. 但是我用的是cfg.xml文件, 所以我就在hibernate.cfg.xml中的下面添加一條聲明: org.hibernate.hql.classic.ClassicQueryTranslatorFactory, 問題解決.

本文轉自
http://blog.sina.com.cn/s/blog_581042ed010003hj.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章