小弟今天刚学习webLogic的部署应用,在我把webLogic部署到myeclipse后,运行却出了如下异常:    SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [zip:C:/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_user/_appsdir_MovieManager_dir/7dovad/war/WEB-INF/lib/slf4j-nop-1.5.8.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [zip:C:/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_user/_appsdir_MovieManager_dir/7dovad/war/WEB-INF/lib/slf4j-nop-1.5.8.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
执行from MovieType语句时出现错误:ClassNotFoundException: org.hibernate.hql.ast.HqlToken [from cn.jbit.entity.MovieType]在网上找了很久都没有找到合适的解决方案,如果哪位高手能不吝赐教,在下感激不尽,并且全分送上!哦对了,注明一点:我的项目使用了hibernate3.x 是不是和hibernate有关系?

解决方案 »

  1.   

    ClassNotFoundException: org.hibernate.hql.ast.HqlToken 解决方法与原因
    老问题了,比较常见。将 antlr-2.7.6rc1.jar 放到 jdk的jre/lib/ext目录即可。
     
    去网上帮帮你找了下 不只有帮助没
    这是因为在Hibernate3.0 采用新的基于ANTLR的HQL/SQL查询翻译器,需要用到antlr,然而这个包在weblogic.jar中已经包含了较早版本的antrl包,不能兼容,就会产生一些类加载的错误,出现ClassNotFoundException: org.hibernate.hql.ast.HqlToken的异常。
    在Hibernate的配置文件中,hibernate.query.factory_class属性用来选择查询翻译器,有如下几种方式:
    选择Hibernate3.0的查询翻译器: 
    hibernate.query.factory_class= org.hibernate.hql.ast.ASTQueryTranslatorFactory
    选择Hibernate2.1的查询翻译器 
    hibernate.query.factory_class= org.hibernate.hql.classic.ClassicQueryTranslatorFactory
    为了使用3.0的批量更新和删除功能,只能选择(1)否则不能解释批量更新的语句。
      

  2.   

    我已经COPY到ext里了 但是还是报异常
      

  3.   

    1楼所说问题发生概率很高。你的Weblogic是什么版本?另外,必须是用于启动Weblogic的JDK,你是不是用的是JRockit的JVM?