ClassNotFoundException: org.hibernate.hql.ast.HqlToken

 

在weblogic下部署应用后,启动应用程序报错ClassNotFoundException: org.hibernate.hql.ast.HqlToken.

从错误看是找不到org.hibernate.hql.ast.HqlToken这个类,找不到这个类是应为Hibernate3.0 采用新的基于ANTLR的HQL/SQL查询翻译器,需要用到antlr,而这个包在weblogic.jar中已经包含了较早版本的antrl包.所以会提示找不到类.

从上面的分析可以得到解决办法,

  一种是找到Hibernate3.0需要的antlr-2.7.6rc1.jar ,把antlr-2.7.6rc1.jar 放到 jdk的jre/lib/ext目录

  一种是比较懒的办法,不去找antlr-2.7.6rc1.jar,而是使用Hibernate2.1的查询翻译器,在配置文件中配置:

  hibernate.query.factory_class= org.hibernate.hql.classic.ClassicQueryTranslatorFactory

 

参考:

http://blog.csdn.net/zhouxianli/article/details/4279709

http://blog.sina.com.cn/s/blog_489c7eb101008z33.html

posted on 2012-07-26 16:54  Fat T  阅读(2785)  评论(0编辑  收藏  举报

导航