ClassNotFoundException: org.hibernate.hql.ast.HqlToken

1   ClassNotFoundException: org.hibernate.hql.ast.HqlToken。此问题属于Weblogic8.1.1与hibernate3兼容上的问题。原因是: 在hibernate3中需要用到antlr.jar,然而这个包在weblogic.jar中已经包含了antrl类库(而且此jar包版本比较低),weblogic启动时默认加载了自己低版本的antrl.jar,导致hibernate无法正常使用。解决办法是下载一个高版本的antlr,我用的是antlr-2.7.5.jar(本人开始曾下载antlr-2.7.5.jar,后来发现无用,所以一定要注意版本号,没试3.X好不好用),替换到${WL_HOME}/server/lib下,

修改startWeblogic.cmd文件

 


@
REM  Set SERVER_NAME to the name of the server you wish to start up.

set  SERVER_NAME = myserver
set PRE_CLASSPATH=%WL_HOME%/server/lib/antlr.jar;% WL_HOME%/server/lib/ant/ant.jar
set  CLASSPATH = %WEBLOGIC_CLASSPATH% ; %POINTBASE_CLASSPATH% ; %JAVA_HOME% / jre / lib / rt . jar ; %WL_HOME% / server / lib / webservices . jar ; %CLASSPATH%
set  CLASSPATH = %PRE_CLASSPATH% ; %CLASSPATH%
@
REM  Call WebLogic Server


在上面的代码中
set PRE_CLASSPATH=%WL_HOME%/server/lib/antlr.jar

set CLASSPATH=%PRE_CLASSPATH%;%CLASSPATH%
为新增的,原文件并无此配置。
保存即可,问题解决。

 

  2   java.lang.IllegalAccessError: tried to access field org.apache.tools.zip.ZipOutputStream.EOCD_SIG from class org.apache.tools.zip.ZipFile

      原因:系统用到解压缩zip格式的压缩文件,我使用的是apache.tools里面的zip处理类,在tomcat下运行没有任何问题,在weblogic8.1.1下就不行了。会不会又是因为jar包太旧的原因呢?随后的查找告诉我我的直觉是对的,在${WL_HOME}/server/lib/ant目录下有一个同样的ant.jar( 版本太低),导致解压缩过程无法正常运行。找到了原因所在,就很好解决了。跟上面类似,我用我项目里的ant.jar替换到${WL_HOME}/server/lib/ant目录下,同样修改startWeblogic.cmd文件,(加上上面的修改)修改后的结果如下:

 

@ REM  Set SERVER_NAME to the name of the server you wish to start up.

set  SERVER_NAME = myserver
set  PRE_CLASSPATH = %WL_HOME% / server / lib / antlr . jar ; % WL_HOME% / server / lib / ant / ant . jar
set  CLASSPATH = %WEBLOGIC_CLASSPATH% ; %POINTBASE_CLASSPATH% ; %JAVA_HOME% / jre / lib / rt . jar ; %WL_HOME% / server / lib / webservices . jar ; %CLASSPATH%
set  CLASSPATH = %PRE_CLASSPATH% ; %CLASSPATH%
@
REM  Call WebLogic Server

如此,问题解决。

 

    总结一下:两个问题都是有用Weblogic8.1.1里面相应的jar包版本太低了导致功能无法正常使用,解决办法就是更新相应的jar包,修改启动命令,加载更新的jar包。

    可能weblogic10.3.2也有这个问题,采用同样的方法可以解决问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值