一个hibernate的问题

ljw714
07-04-29 4 288

用hibernate做一个登陆功能时,客户端出现如下错误:
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet execution threw an exception
com.hw.system.util.SetEncodeFilter.doFilter(SetEncodeFilter.java:59)


root cause

java.lang.NoClassDefFoundError: net/sf/hibernate/Session
com.hw.hwkhgl.dao.LoginDAO.login(LoginDAO.java:51)
com.hw.hwkhgl.action.loginAction.login(loginAction.java:36)
com.hw.hwkhgl.action.loginAction.execute(loginAction.java:26)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
com.hw.system.util.SetEncodeFilter.doFilter(SetEncodeFilter.java:59)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

我用的包是hibernate2,在登陆类loginDAO中引用的是net.sf.hibernate.Session.之前编写的测试类对数据库操作都没问题.为什么这个地方会和、报错找不到类呢?还有后台没有任何错误信息.

ljw714
2007-04-29 13:13

问题解决了,开始我是采用引入外部JAR包,hibernate2这个包的实际路径不在工程目录的lib里,现在把这个包拷到lib里就可以了.但为什么我之前写的测试类又可以呢?
所有用到的jar包一定要放到lib目录下吗?

wlmouse
2007-04-29 17:24

因为你测试的时候是在IDE的环境里。IDE会自动帮你处理lib的问题。Tomcat可不会到外部去找lib。Tomcat只能用在Tomcat的ClassLoader路径下能找到的lib。

peterlu
2007-05-10 17:33

啊?



GuaGuaGua
2007-05-10 20:35

一劳永逸的解决库依赖问题
用maven吧....