J2EE 升级到 hibernate-core-3.6.0 后出现的错误

 

 闲来无聊搭了个小型WEB应用系统框架,用了从JBOSS COMMUNITY上下载的四个包文件:

hibernate-core-3.6.3.Final

hibernate-commons-annotations-3.2.0.Final

hibernate-jpa-2.0-api-1.0.1.Final

hibernate-annotations-3.5.0-Final  一切都是这个包惹的祸

 

做好Hibernate的各项配置后,写了一个Test类用main方法做了一下测试,可以正常进行增删改查的数据库操作。接着就开使在工程里写了些操作数据库的方法,然后写了个页面配合Struts的完整流程,读取并在JSP页面上显示数据库中一个表的内容列表。接着启动Tomcat服务后,第一次执行这个Action的时候报了一个错误,

java.lang.VerifyError: class org.hibernate.type.WrappedMaterializedBlobType overrides final method,在没有重启TOMCAT的情况下再次执行这个Action就会出现,

HibernateSessionFactory.getSession() HibernateSessionFactory java.lang.NoClassDefFoundError 错误。其中HibernateSessionFactory 这个类是MyEclipse添加Hibernate的时候自动生成的Factory类。

 

因为是刚搭的框架,所以引入的包还比较少,所以看了眼buildpath中,并没有重复的包,很奇怪。于是上网开搜,终于被我搜到。。得以解决,原因是从 hibernate-core 3.6.0以后 hibernate-annotations 被整合到到hibernate-core这个包中,所以我的问题就是

hibernate-core-3.6.3.Final 和 hibernate-annotations-3.5.0-Final 冲突造成的。从buildpath中remove掉hibernate-annotations-3.5.0-Final.jar,删除WEB-INF下的classes文件夹的内容,重新build了下project,一切恢复正常。

 

参考:https://forum.hibernate.org/viewtopic.php?f=1&t=1010086

     http://stackoverflow.com/questions/6384428/version-disparity-in-hibernate-core-annotation-jars

包下载地址,搜索你要下载的包,我搜了下,我需要的包大多数都能在这找到,这里有特定包的全部的版本:

https://repository.jboss.org/nexus/index.html#welcome

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值