Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
struts-spring-hibernate示例中的org.springframework.beans.factory.BeanCreationException_Spring_Hibernate_Struts - Fatal编程技术网

struts-spring-hibernate示例中的org.springframework.beans.factory.BeanCreationException

struts-spring-hibernate示例中的org.springframework.beans.factory.BeanCreationException,spring,hibernate,struts,Spring,Hibernate,Struts,我试图在tomcat6中运行SpringStruts和hibernate示例,我遇到以下错误 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/config/database/spring/HibernateSessionFactory

我试图在tomcat6中运行SpringStruts和hibernate示例,我遇到以下错误

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/config/database/spring/HibernateSessionFactory.xml]: Invocation of init method failed; nested exception is org.hibernate.MappingException: entity class not found: com.mkyong.customer.model.Customer
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
    at org.springframework.web.struts.ContextLoaderPlugIn.createWebApplicationContext(ContextLoaderPlugIn.java:354)
    at org.springframework.web.struts.ContextLoaderPlugIn.initWebApplicationContext(ContextLoaderPlugIn.java:295)
    at org.springframework.web.struts.ContextLoaderPlugIn.init(ContextLoaderPlugIn.java:225)
    at org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:871)
    at org.apache.struts.action.ActionServlet.init(ActionServlet.java:359)
    at javax.servlet.GenericServlet.init(GenericServlet.java:212)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4421)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4734)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
HibernateSessionFactory.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

<!-- Hibernate session factory -->

    <bean id="sessionFactory" 
         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

        <property name="dataSource">
          <ref bean="dataSource"/>
        </property>

        <property name="hibernateProperties">
           <props>
             <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
             <prop key="hibernate.show_sql">true</prop>
           </props>
        </property>

        <property name="mappingResources">
            <list>
                   <value>com/mkyong/customer/hibernate/Customer.hbm.xml</value>
            </list>
         </property>    

    </bean>
    </beans>
Customer.java的包

StrutsSpringExample
    src/main/java
        com.mkyong.customer
            model
              Customer.java
com.mkyong.customer.model

根据错误消息,在类路径上找不到以下类:

com.mkyong.customer.model.Customer

此错误很明显,
initializeBean
失败,因为找不到该客户类

现在需要确保Customer.class存在于目录中

# find . -name Customer.class
./WEB-INF/classes/com/mkyong/customer/model/Customer.class
# pwd
/usr/share/tomcat6/webapps/<your_webapp_context>
#查找-名称Customer.class
./WEB-INF/classes/com/mkyong/customer/model/customer.class
#pwd
/usr/share/tomcat6/webapps/
另外,确保在lib文件夹中放置了所有必需的库。下面是我的webapp lib文件夹中的一个注意:当不满足库依赖项时,您将在war文件部署期间遇到许多异常

  • antlr-2.7.2.jar
  • commons-beanutils-1.8.0.jar
  • commons-chain-1.2.jar
  • commons-digester-1.8.jar
  • commons-io-1.1.jar
  • commons-validator-1.3.1.jar
  • dom4j-1.6.1.jar
  • geronimo-jpa-2.0-spec.jar
  • 番石榴-11.0.1.jar
  • hibernate-commons-annotations-3.2.0.Final.jar
  • hibernate-core-3.6.4.Final.jar
  • javassist-3.12.0.GA.jar
  • oro-2.0.8.jar
  • postgresql-jdbc4-9.1.jar
  • 石英-all-1.6.6.jar
  • spring-beans-2.5.jar
  • spring-context-2.5.jar
  • spring-context-support-2.5.jar
  • spring-core-2.5.jar
  • spring-jdbc-2.5.jar
  • spring-orm-2.5.jar
  • spring-tx.jar
  • spring-web-2.5.jar
  • spring-webmvc-struts-2.5.jar
  • struts-core-1.3.10.jar
  • struts-extras-1.3.10.jar
  • struts-taglib-1.3.10.jar
  • struts-tiles-1.3.10.jar

几天前,我已经完成了与PostgreSQL集成的教程,效果很好。如果你愿意,我可以把我的war文件上传到某个地方。

Pelase检查编辑过的问题以查看Customer.java文件的目录结构。在你的目录结构中,是否有一个名为
com.mykong.Customer
的目录,或者实际上是三个嵌套目录。如果打开WAR文件,
Customer.class
应该位于
WEB-INF/classes/com/mkyong/Customer/model/
?@chetan,这是完整的堆栈跟踪吗?我的意思是在
sessionFactory
bean创建之前是否还有其他异常发生?
com.mkyong.customer.model.Customer
# find . -name Customer.class
./WEB-INF/classes/com/mkyong/customer/model/Customer.class
# pwd
/usr/share/tomcat6/webapps/<your_webapp_context>