`
badmanisme
  • 浏览: 31058 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

ClassNotFoundException: org.hibernate.hql.ast.HqlToken的问题

    博客分类:
  • java
阅读更多
今天遇到一个莫民奇妙的问题,拥有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不能找到,导致异常。

1、拷贝Hibernate3里带的包antlr-2.7.5H3.jar到%DOMAIN_HOME%\server\lib下
2、修改...\Middleware\user_projects\ startWebLogic.cmd :
在set CLASSPATH之前加上下面一句:
set PRE_CLASSPATH=%WL_HOME%\server\lib\antlr-2.7.5H3.jar;
在set CLASSPATH之后加上下面一句:
set CLASSPATH=%PRE_CLASSPATH%;%CLASSPATH%


set PRE_CLASSPATH=%DOMAIN_HOME%\lib\antlr-2.7.6.jar

@REM Start Derby

set DERBY_DEBUG_LEVEL=0

if "%DERBY_FLAG%"=="true" (
call "%WL_HOME%\common\derby\bin\startNetworkServer.cmd"  >"%DOMAIN_HOME%\derby.log" 2>&1

)

set JAVA_OPTIONS=%SAVE_JAVA_OPTIONS%

set SAVE_JAVA_OPTIONS=

set CLASSPATH=%SAVE_CLASSPATH%


set CLASSPATH=%PRE_CLASSPATH%;%SAVE_CLASSPATH%
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics