org.hibernate.hql.ast.HqlToken weblogic10异常

在hibernate3中需要用到antlr,然而这个包在weblogic.jar中已经包含了antrl类库,就会产生一些类加载的错误,无法找到在war或者ear中的hibernate3.jar。
出现这个错误之后,antlr会调用System.exit(),这样weblogic就会中止服务。
jar包冲突是普通的jar包还是bundle。
应该是这样的:在jar包中定义好了依赖的jar及其版本。而jar包冲突的原因有可能是因为:
1。使用了高版本的。eclipse中使用jar包(Eclipse里安装的jar全是bundle)有个机制,就是高版本优先。例如你有两个版本,1.0和2.0,同时装进去的时候有可能使用的是2.0,而这么高的版本,或许又会依赖高版本的其他jar包,你本身的环境又不存在,因此会出问题。
2。还有个原因有可能是你在使用jar包的时候使用的版本不匹配。当调用jar包中的方法的时候,有可能会不存在这个方法而报错。这种情况经常发生在版本变动较大的情况
目前我就想出了这两点可能的原因

尤其是第一点,这个和类加载的关系不太大吧,加载的就是高版本的jar,低版本的加载不进去
<!--End_rbody_68409914//-->
 

 

http://www.iteye.com/problems/63567

感谢帮助,后经研究,只能通过自定义ClassLoader实现,对于javax.management包下的类,优先通过自定义的ClassLoader到指定JAR中去加载即可,其余委托给父类加载器加载

Java自定义的类加载器

 

http://www.oschina.net/code/snippet_107039_6272

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值