org/hibernate/cfg/HbmBinder$SecondPass

首先声明:这是转载的!

上网查了下,发现有这个问题的人还真不少,一些没碰到过这个问题的人就说是因为找不到这个类,但是解决方法都没有明说,这是官方hibernate+spring的问题啊,没有类,我们怎么办啊~

然后发现有的说解决方法就是下最新的hibernate-annotations.jar的包~,这确实能够解决问题,但却不是最根本的解决方法,这个问题其实很奇怪,关键就在于Junit中测试没问题,就是发布到项目中的时候,会出现这样的问题~也就是MyEclipse在发布项目文件时的问题~

于是到MyEclipse的安装目录中搜索hibernate-annotations.jar的包,发现在其中有四个hibernate-annotations.jar的包(MyEclipse6.0的版本下,5.x的不知道,可能只有三个),对比了一下他们的目录分别是:
1.MyEclipse/eclipse/plugins/com.genuitec.org.hibernate.eclipse_....../lib/annotations --[352k]
2.MyEclipse/eclipse/plugins/com.genuitec.eclipse.springframework_....../data/2.0/lib/hibernate --[257k]
3.MyEclipse/eclipse/plugins/com.genuitec.org.hibernate.eclipse_....../myeclipse-data/3.2/lib/entitymanager --[257k]
4.MyEclipse/eclipse/plugins/com.genuitec.eclipse.springframework_....../data/1.2/lib/dependencies/hibernate --[128k]

而出错的就是第四个目录下的hibernate-annotations.jar的包,一共128k大小
观察四个包的文件大小后很明显这个问题的原因出在Spring的版本上,由于spring2.0的版本比较新,所以更新的hinbernate包也比较新,而spirng1.2的版本中,虽然包含了hibernate3.x的版本,但是却由于没有及时更新其中的hibernate包,所以导致出现了这个异常bug,也不知道是因为MyEclipse没有及时更新spring的补丁版本,还是因为spring的工程师忽略了这个问题~,犯下了这种小错误,哈哈,不过说起来也是,人无完人嘛~~

分析了问题发生的原因,最后剩下的就是这个问题的彻底解决办法,很简单
把搜索到的第二或者第三个文件夹中的hibernate-annotations.jar包复制到项目的lib目录中覆盖即可,当然如果以后不想再发生这样的问题的话那就把这个文件直接覆盖搜索到的第四个目录中hibernate-annotations.jar吧,这样以后MyEclipse就再也不会发生同样的问题了~


转载自:http://blog.csdn.net/fableking/article/details/2057457
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值