严重: action: null
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/hibernate/cfg/HbmBinder$SecondPass
java.lang.NoClassDefFoundError: org/hibernate/cfg/HbmBinder$SecondPass
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1819)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:872)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1327)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at org.hibernate.cfg.Configuration.add(Configuration.java:386)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:427)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:482)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1465)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1433)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1414)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1390)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1325)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:661)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1099)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:400)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:234)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:144)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:277)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:321)
at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:139)
at org.springframework.web.struts.ContextLoaderPlugIn.createWebApplicationContext(ContextLoaderPlugIn.java:353)
at org.springframework.web.struts.ContextLoaderPlugIn.initWebApplicationContext(ContextLoaderPlugIn.java:296)
at org.springframework.web.struts.ContextLoaderPlugIn.init(ContextLoaderPlugIn.java:225)
at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:869)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:336)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4058)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4364)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:924)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:887)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1147)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
这个什么错..估计是我配置文件错了.可是自己实在找不到哪里错了.

解决方案 »

  1.   

    java.lang.NoClassDefFoundError: org/hibernate/cfg/HbmBinder$SecondPass 找不到这个类看一下你的hibernate.jar包里有没有这个类,如果没有的话,建议下载最新版本的hibernate.jar
      

  2.   

    配置文件有问题,看看所有的Model都映射了吗
      

  3.   

    org/hibernate/cfg/HbmBinder 这个类有..
      

  4.   

    spring配置文件<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans>
    <bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="configLocation"
    value="/WEB-INF/hibernate.cfg.xml">
    </property>
    </bean>
    <bean id="dao" class="org.iet.shadow.dao.admin.AdminDAOImpl" singleton="false">
    <property name="sessionFactory">
    <ref local="sessionFactory"/>
    </property>
    </bean>
    <bean name="/addAdmin" class="org.iet.shadow.web.admin.AddAdminAction">
    <property name="dao">
    <ref local="dao"/>
    </property>
    </bean>
    </beans>hibernate配置文件
    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
              "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
              "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><!-- Generated by MyEclipse Hibernate Tools.                   -->
    <hibernate-configuration><session-factory>
    <property name="connection.username">root</property>
    <property name="connection.url">
    jdbc:mysql://localhost:3306/shadow
    </property>
    <property name="dialect">
    org.hibernate.dialect.MySQLDialect
    </property>
    <property name="myeclipse.connection.profile">shadow</property>
    <property name="connection.password">root</property>
    <property name="connection.driver_class">
    com.mysql.jdbc.Driver
    </property>
    <property name="show_sql">true</property>
    <mapping resource="org/iet/shadow/bean/Admin.hbm.xml" /></session-factory>struts配置文件
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>
      <data-sources />
      <form-beans >
        <form-bean name="addAdminForm" type="org.iet.shadow.web.admin.AddAdminForm" />  </form-beans>  <global-exceptions />
      <global-forwards />
      <action-mappings >
        <action
          input="/addAdmin.jsp"
          name="addAdminForm"
          path="/addAdmin"
          scope="request"
          type="org.springframework.web.struts.DelegatingActionProxy">
          <forward name="success" path="/success.jsp"/>
        </action>  </action-mappings>  <message-resources parameter="org.iet.shadow.ApplicationResources" />
      <plug-in
    className="org.springframework.web.struts.ContextLoaderPlugIn">
    <set-property property="contextConfigLocation"
    value="/WEB-INF/applicationContext.xml" />
      </plug-in>
    </struts-config>
      

  5.   

    Action
    /*
     * Generated by MyEclipse Struts
     * Template path: templates/java/JavaClass.vtl
     */
    package org.iet.shadow.web.admin;import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    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 org.iet.shadow.bean.Admin;
    import org.iet.shadow.dao.admin.AdminDAO;
    /** 
     * MyEclipse Struts
     * Creation date: 07-24-2008
     * 
     * XDoclet definition:
     * @struts.action path="/addAdmin" name="addAdminForm" input="/addAdmin.jsp" scope="request" validate="true"
     */
    public class AddAdminAction extends Action {
    private AdminDAO dao;
    /*
     * Generated Methods
     */ public AdminDAO getDao() {
    return dao;
    } public void setDao(AdminDAO dao) {
    this.dao = dao;
    } /** 
     * Method execute
     * @param mapping
     * @param form
     * @param request
     * @param response
     * @return ActionForward
     */
    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response) {
    AddAdminForm addAdminForm = (AddAdminForm) form;// TODO Auto-generated method stub
    Admin admin = new Admin();
    admin.setAname(addAdminForm.getAname());
    admin.setApwd(addAdminForm.getApwd());
    dao.insertAdmin(admin);
    return mapping.findForward("success");
    }
    }
      

  6.   

    初始化的时候在WEB-INF找不到/applicationContext.xml,是不是配置文件的名字写错了
      

  7.   

    看看有没有hibernate-annotations.jar包,有的话删除了,反正你也没用上
      

  8.   

    删了hibernate-annotations.jar包还是一样抱这个错.
      

  9.   

    DAO接口
    package org.iet.shadow.dao.admin;import java.util.ArrayList;
    import org.iet.shadow.bean.Admin;public interface AdminDAO {
    public abstract boolean insertAdmin(Admin admin);

    public abstract boolean updateAdmin(Admin admin);

    public abstract ArrayList queryAll();
    }
    package org.iet.shadow.dao.admin;
    DAO实现类
    import java.util.ArrayList;
    import org.iet.shadow.bean.Admin;
    import org.springframework.orm.hibernate3.support.HibernateDaoSupport;public class AdminDAOImpl extends HibernateDaoSupport implements AdminDAO { public boolean insertAdmin(Admin admin) {
    try{
    getHibernateTemplate().save(admin);
    return true;
    }catch(Exception e){
    e.printStackTrace();
    }
    return false;
    } public ArrayList queryAll() {
    // TODO Auto-generated method stub
    return null;
    } public boolean updateAdmin(Admin admin) {
    // TODO Auto-generated method stub
    return false;
    }}
      

  10.   

    你没将sessionfactory交给spring管理,将Hibernate的配置文件删了,
    然后在spring里配Hibernate,将sessionfactory交给spring管理。
    建议你试试。
      

  11.   

    如果还是不行,你看看你是不是没有:commons-pool.jar、commons-dbcp-1.2.2.jar和commons-collections-3.2.jar 这三个包。