首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

java.lang.NoClassDefFoundError: org.hibernate.HibernateException

2014-01-26 
我用Hibernate3+Struts1.1+tomcat5.0(JDK1.5+MyEclipse3.1)作一个简单的登陆项目,结果一点登陆就报错,如下:

我用Hibernate3+Struts1.1+tomcat5.0(JDK1.5+MyEclipse3.1)作一个简单的登陆项目,结果一点登陆就报错,如下:
java.lang.NoClassDefFoundError: org.hibernate.HibernateException
com.yourcompany.struts.action.LoginAction.execute(LoginAction.java:20)
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)
在网上找了下,他们说是Hibernate 3的默认方式是把所有类通过代理方式来进行延迟加载。如果代码中的类有一个私有无参的构造器的话,Hibernate将无法在运行时将项目代码中的类作为子类装载。为了避免这个错误,类中的构造器函数至少应该在包内可见。
??不懂这句话是什么意思,我都快郁闷死了,SOS!!!


------解决方法--------------------------------------------------------
你LoginAction代码怎么写的?
------解决方法--------------------------------------------------------
ehcache.jar这个包你有没有,没有的话加上,重起就OK了.
------解决方法--------------------------------------------------------
XML配置的问题,Hibernate
------解决方法--------------------------------------------------------
看出错的意思,说是少hibernate包吧.
------解决方法--------------------------------------------------------
意思是  你要手工写一个无参的构造函数
比如是Customer的
你要写
public Customer(){}
这样就可以了
还有一点,不用在configuration这个里适用addClass()这个函数。
它会通过配置文件来load的

        

热点排行