Struts hibernate 集成问题

(1)hibernate的版本问题。

一开始使用hibernate3.5的jar包,当在项目中自己添加自定义类库引入hibernate的相关jar后,编写测试文件没有问题,可以通过。

但hibernate的jar是要部署到客户服务器上的,所以需要将jar包放到WEB-INF的lib目录下,但这是问题就产生了,当再次运行junit测试用例时出错:

java.lang.IncompatibleClassChangeError: class org.hibernate.cfg.ExtendedMappings has interface org.hibernate.cfg.Mappings as super class。

最终将hibernate的jar包换成3.3.2的版本,这个问题解决,但问题原因还是没想明白,为什么放到lib中就会出现不兼容的问题。

(2)hibernate.cfg.xml not found 错误。

当把struts集成到项目中之后,运行却出现了hibernate.cfg.xml not found的错误,配置文件明明在src目录下,build的classes目录下也已经自动复制了,但运行却不能找到,最终找到eclipse部署项目的目录其中:

E:/study/my_study_document/java debug/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/spring_register/WEB-INF/classes

在这个classes目录下只有struts的配置文件,没有hibernate.cfg.xml。于是只有手动将配置文件放到该目录下,然后再运行,问题解决。

 

这两个问题虽然解决了,但还是觉得十分诡异,不知道为什么会出现这种错误。

你可能感兴趣的:(eclipse,Hibernate,struts,jar,JUnit,interface)