HibernateQueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken

2 篇文章 0 订阅
1 篇文章 0 订阅
项目中使用了Struts2、spring3、hibernate3等框架。在开发环境中使用Tomcat6.0部署可正常运行,但在linux环境中部署到Weblogic10.3.5.0上运行报如下异常:

org.springframework.orm.hibernate3.HibernateQueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken


原因:
weblogic中已经有了一个antlr.jar包,而hibernate3用到了weblogic中较低版本的antlr.jar,所导致的异常。

解决方法:
[list]
[*][color=red]1、将项目中的antlr-2.7.6.jar拷贝到${DOMAIN_HOME}/lib下;[/color]
[*][color=red]2、使用“vi startWebLogic.sh”命令打开启动脚本,并找到如下部分:[/color]
[/list]

DOMAIN_HOME="/opt/Oracle/Middleware/user_projects/domains/store_domain"

. ${DOMAIN_HOME}/bin/setDomainEnv.sh $*

LASS_PATH

SAVE_CLASSPATH="${CLASSPATH}"

# Start Derby

DERBY_DEBUG_LEVEL="0"

if [ "${DERBY_FLAG}" = "true" ] ; then
${WL_HOME}/common/derby/bin/startNetworkServer.sh >"${DOMAIN_HOME}/derby.log" 2>&1

fi

JAVA_OPTIONS="${SAVE_JAVA_OPTIONS}"

SAVE_JAVA_OPTIONS=""

CLASSPATH="${SAVE_CLASSPATH}"


在CLASSPATH处修改如下:

TEMP_CLASS_PATH="${DOMAIN_HOME}/lib/antlr-2.7.6.jar"

CLASSPATH="${TEMP_CLASS_PATH}:${SAVE_CLASSPATH}"



export TEMP_CLASS_PATH=/opt/Oracle/Middleware/user_projects/domains/store_domain/lib/antlr-2.7.6.jar
export CLASSPATH=%SAVE_CLASSPATH%
export CLASSPATH=%TEMP_CLASS_PATH%;%CLASSPATH%


重新启动即可正常运行。

注:可以将antlr-2.7.6.jar放到weblogic的公用lib中如:/opt/Oracle/Middleware/wlserver_10.3/server/lib/antlr-2.7.6.jar,这样其他的domain配置文件中都可引用同一个jar
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值