struts2+hibernate整合

用struts2和hibernate单独开发没有问题 为什么一整合就会出类似这样错误 Exception starting filter struts2 java.lang.NoClassDefFoundError: org/hibernate/criterion/Criterion
Caused by: java.lang.ClassNotFoundException: org.hibernate.criterion.Criterion
图片是引用的jar包,应该不是hibernate配置文件的问题,我用hibernate提供的工具创建了表 所以.....
一天了,都没有查明原因,请各位看看

[quote]那个错误发生在tomcat启动时! [/quote]

你是用的Myeclipse的部署把你的项目放到tomcat的嘛?如果是的,就照我说的方法试试!

ClassNotFoundException: org.hibernate.criterion.Criterion

我的事hibiscus3。2 里面有这个类
不知道LZ 是否核对了?

看着没有问题,看看你的Tomcat启动的时候时候加载了这些jar

不行就先把你的hibernate3.jar这个jar拷贝到你的Tomcat的lib目录里

莫非你用的是Myeclipse?这个玩意在你的工程部署的时候默认不会加入hibernate的jar包的。建议这样试试。

myeclipse -> add hibernate capabilities... ->
选中这个copy checked libraries to project folder and add to build-path

然后启动再试试!

microsoft提供的数据库驱动存在bug。需要换一种驱动连接,使用jtds(下载地址:http://sourceforge.net/projects/jtds/files/)下载jtds1.2版,解压得到jtds-1.2.jar,引用到eclipse中项目目录下(去除原驱动引用),更改hibernate配置文件:

原驱动连接配置:

com.microsoft.jdbc.sqlserver.SQLServerDriver
jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=hibernate
更改jtds连接:

net.sourceforge.jtds.jdbc.Driver
jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=hibernate

问题得到解决。补充:java代码调原驱动连接数据库是没有问题的,搭配hibernate会有此问题。