关于ClassNotFoundException: org.hibernate.hql.ast.HqlToken 问题的解决

问题出现的原因:在tomcat 和 myeclipse 环境下开发的项目,部署到weblogic 上时候程序无法访问数据库

具体异常是:

org.springframework.orm.hibernate3.HibernateQueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken [from com.tf.zhpp3.persist.ORM.marketprice.SystemConfiguration]; nested exception is org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken [from com.tf.zhpp3.persist.ORM.marketprice.SystemConfiguration]
    at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:657)
    at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
    at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:424)
    at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
    at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:921)
    at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:913)
    at com.tf.zhpp3.persist.dao.marketprice.SystemConfigurationDAO.findAll(SystemConfigurationDAO.java:31)
    at com.tf.zhpp3.service.marketprice.SystemConfigurationService.getConfigMap(SystemConfigurationService.java:52)
    at com.tf.zhpp3.service.marketprice.SystemConfigurationService.findLogPath(SystemConfigurationService.java:139)
    at com.tf.zhpp3.service.marketprice.SystemConfigurationService$$FastClassByCGLIB$$dd2a4080.invoke()
    at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)

解决办法:在WEB-INF下面添加个weblogic.xml,

内容如下:


    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    
        false
        
        -1
        true
        true
    


    
        
        true
        
        -1
    


    /zhppkk3
    
        ZHPP3_JSESSIONID
    

  


PS:重要的是红色那行,因为异常出现的原因是程序的包和weblogic 已有的包冲突引起的。

你可能感兴趣的