MyEclipse+hibernate2开发,遇到java.lang.ExceptionInInitializerError的错误 高手帮忙啊!
wzich 2005-10-23 12:22:39 看了一下Java API,应该是初始化的时候,哪儿有问题,但是又查不出来。
错误提示全文如下:
java.lang.ExceptionInInitializerError
all.HibernateUtil.<clinit>(HibernateUtil.java:26)
com.wzich.struts.action.AddUserAction.execute(AddUserAction.java:48)
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.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
源代码如下:
package all;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;
/**
* @author Administrator
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
public class HibernateUtil {
private static Log log=LogFactory.getLog(HibernateUtil.class);
private static final SessionFactory sessionFactory;
static {
try{
sessionFactory=new Configuration().configure().buildSessionFactory();
} catch (Throwable ex) {
log.error("Initial SessionFactory creation failed.",ex);
throw new ExceptionInInitializerError(ex);
}
}
public static final ThreadLocal session=new ThreadLocal();
public static Session currentSession() throws HibernateException {
Session s=(Session)session.get();
//Open a new Session, if this Thread has none yet
if (s==null) {
s=sessionFactory.openSession();
session.set(s);
}
return s;
}
public static void closeSession() throws HibernateException {
Session s=(Session) session.get();
session.set(null);
if (s !=null)
s.close();
}
}
对应源代码26行处是throw new ExceptionInInitializerError(ex);
AddUserAction的源代码如下:
package com.wzich.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Session;
import net.sf.hibernate.Transaction;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.wzich.Hibernate.User;
import all.HibernateUtil;
/**
* MyEclipse Struts
* Creation date: 10-22-2005
*
* XDoclet definition:
* @struts.action validate="true"
*/
public class AddUserAction extends Action {
// --------------------------------------------------------- Instance Variables
// --------------------------------------------------------- Methods
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
* @throws HibernateException
*/
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws HibernateException {
Session session=HibernateUtil.currentSession();
Transaction tx=session.beginTransaction();
User user=new User();
user.setWzid("1");
user.setWzname("wzichu");
session.save(user);
tx.commit();
HibernateUtil.closeSession();
return mapping.findForward("success");
}
}
请高人指点!!!!
在此多谢了!!!!