随笔-37  评论-58  文章-4  trackbacks-0

   郁闷了一天的问题,终于在夜幕降临前得到解决,开心~~
   拥有Hibernate3.jar的应用,被部署到weblogic8.1上后,抛出异常 CharScanner; panic: ClassNotFoundException: org.hibernate.hql.ast.HqlToken。
   解决方法:在hibernate.properties上,或是在spring的conext xml中,加上一个属性hibernate.query.factory_class,值为org.hibernate.hql.classic.ClassicQueryTranslatorFactory。

   原因:从网上获知,weblogic.jar中已经有了一个antlr.jar的版本,导致应用中hibernate3.jar中用到的antlr.jar不能找到,导致异常。
   被这个问题缠绕了一整天,使我的OA项目毫无进展,终于解决了~~

posted on 2006-04-10 19:02 枫中玎玲 阅读(17075) 评论(35)  编辑  收藏 所属分类: 错误解决之道

评论:
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2007-03-22 11:31 | wangmzh
郁闷了一天的问题,终于在夜幕降临前在网上看到解决方案,哈哈,,开心~~

谢谢~_~ ~_~  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2007-10-09 16:11 | sheila
看到解決之道, 真是開心, 感謝你阿!  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2008-01-07 15:15 | DingDang
谢谢了啊.  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2008-01-07 16:17 | DingDang
您所说的那个有一点问题,正确问题解决方法是:加如下的代码:
<property name="hibernate.query.factory_class">
org.hibernate.hql.classic.ClassicQueryTranslatorFactory
</property>  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2008-03-18 19:06 | df
太感谢了,多谢,加上就正常了  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2008-07-01 16:43 | 匿名
匿名感谢下,看看可不可以。  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2008-07-02 11:36 | 匿名
匿名感谢下  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2008-07-15 00:23 | kmlihy
为什么我加了以后反而连session的增删改都用不了了.  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2008-07-23 11:03 | gszhiyong
感激不尽!!  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2008-08-19 09:40 | Empty
呵呵,谢谢,类加载上的异常,总是让人头疼啊!  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2008-08-22 11:01 | 永无止境
牛人,不甚感激  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2008-09-03 09:14 | clt
还是有些问题的,如果是 ClassicQueryTranslatorFactory 是针对 hibernate 2.1 的,不能处理 delete、update 等, 如果是 3 的话, 就得用另外一个了。 而且还需要 把 antlr-runtime 加在 startWeblogic 启动时设置的 classpath 中,要不会报其它的错误.  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2008-11-21 11:45 | 你们
感谢,太感谢啦  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2009-02-13 10:13 | hukkkk
非常感谢  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2009-02-14 06:27 | Joe He
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2009-02-14 06:29 | Joe He
不好意思,错了,应该是这个链接。如果没有用,请删除:
http://www.joehe.com/2006/04/the-solutions-to-the-problemclassnotfoundexception-orghibernatehqlasthqltoken/
  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2009-07-07 15:12 | jak
那直接删除多余jar报会报错吗  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道[未登录] 2009-08-04 10:41 | jht
上面的方法不行的。org.hibernate.hql.classic.ClassicQueryTranslatorFactory是hibenate2.0的解析器,就不用使用 Query query = s.createQuery(hql);
query.executeUpdate();这样的更新语句。org.hibernate.hql.ast.ASTQueryTranslatorFactory才是3.0  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道[未登录] 2009-08-04 10:45 | jht
我试了一下,在eclipse配置weblogic时目录下,还有一个paths,在那里的Prepend to classpath中选择添加jar/zip。然后选择antlr对应该的包后,就可以了。 我刚用过的哦。  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2010-03-04 16:42 | bigknife
thanks  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2010-10-22 14:11 | 34
7  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道[未登录] 2010-11-15 20:01 | a
谢谢啊,困扰了一天,终于解决了  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2011-06-27 13:13 | shimiso
官方的解决办法是在web-inf下创建一个weblogic.xml,配置
<weblogic-web-app>
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>

让weblogic在冲突情况下,默认采用web应用下的lib,而不采用它本身classpath下的jar包即可.  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2011-10-16 18:18 | Boolean
楼上正解,官方的解决方法最佳。  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2012-08-22 16:35 | true
ok了,谢啦  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2012-08-27 16:04 | ff
感谢  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2013-08-21 11:16 | cqy
受用了,感谢  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2013-08-23 16:25 | number1
很不错 受用了  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2013-08-26 17:21 | cqy
正解!非常受用,感谢了  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2013-10-30 17:38 | re
感谢,果然有用.  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道[未登录] 2015-01-28 16:59 | 啦啦啦
请问那个文件在哪能找到?非常感谢@DingDang
  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道[未登录] 2015-02-03 15:21 | 微笑
@shimiso确实 官方正解  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2015-03-05 18:56 | 11
@DingDang
这个方法好使  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2015-03-16 10:45 | 康荣龙
@shimiso
这个官方方法是最好的。谢谢!  回复  更多评论
  
# re: ClassNotFoundException: org.hibernate.hql.ast.HqlToken解决之道 2015-11-30 15:30 | 我太阳额
多谢多谢,这个问题困扰我两天了,根本没想到是jar包的问题
  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问