weblogic12 javassit hibernate 踩坑实践

    今天接到通知需要给某个地方上系统,对方的环境以及搭建好了weblogic12c ,本地开发测试是11g 10g和tomcat,所以需要拿到12c环境上测试一些。 果不其然报错了

    HHH000142: java.lang.ClassCastException: Xxxxxxxxxxxxxxxxxxxxxxxxx.Org_$$_javassist_111 cannot be cast to javassist.util.proxy.Proxy

    经过一番度娘得出两个答案        

  1. 通过myeclipse整合ssh框架时加入的Struts2  和 hibernate 都自带javassist  jar包所以报错,删掉其中一个就行
  2. 得到的第二个是第一个的另外一种解决办法,取消hibernate的懒加载(治标不治本啊)
  3. 考虑hibernate和javassist的版本问题(猜想)
         

    显然这个并不是我这出的原因:此系统在11g 10g tomcat都是没问题的,就只有断定是12c的运行环境和其他有不一样。通过报错初步确定出问题的是hibernate使用javassist动态代理出错(因为报错的是一个实体类),通过检查本地环境。

 hibernate版本为5.0.7   javassist版本3.18.1  。 通过mvnrepository 网查看 javassist的版本发现已经更新多个版本。 尝试更新了一下javassist的版本为测试完无问题,11g 12c tomcat都测试了一次都没问题。

    具体兼容性原因还不清楚,待我有时间跟一下源码惊恐

    总结:weblogic因为集成了好多东西,所以环境比较杂。第二个比较普遍的问题是jar包冲突在 weblogic.xml里面配置优先加载应用中的jar包

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值