org.springframework.beans.factory.BeanCreationException в примере гибернации весны распорок - PullRequest
0 голосов
/ 12 марта 2012

Я пытаюсь запустить весенние распорки и пример гибернации в tomcat6, я получаю следующую ошибку.

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.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 20 April 2010 8:33:09 PM by Hibernate Tools 3.2.5.Beta -->
<hibernate-mapping>
    <class name="com.mkyong.customer.model.Customer" table="customer" catalog="mkyong">
        <id name="customerId" type="long">
            <column name="CUSTOMER_ID" />
            <generator class="identity" />
        </id>
        <property name="name" type="string">
            <column name="NAME" length="45" not-null="true" />
        </property>
        <property name="address" type="string">
            <column name="ADDRESS" not-null="true" />
        </property>
        <property name="createdDate" type="timestamp">
            <column name="CREATED_DATE" length="19" not-null="true" />
        </property>
    </class>
</hibernate-mapping>

SpringBeans.xml

<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">

    <!-- Database Configuration -->
    <import resource="config/database/spring/DataSource.xml"/>
    <import resource="config/database/spring/HibernateSessionFactory.xml"/>

    <!-- Beans Declaration -->
    <import resource="com/mkyong/customer/spring/CustomerBean.xml"/>


</beans>

Структура каталогов для Customer.java

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

Пакет для Customer.java

com.mkyong.customer.model

Ответы [ 2 ]

1 голос
/ 12 марта 2012

Согласно сообщению об ошибке, следующий класс не может быть найден в classpath:

com.mkyong.customer.model.Customer
0 голосов
/ 13 марта 2012

Эта ошибка понятна, initializeBean не удалось, потому что класс Customer не найден.

Теперь вам нужно убедиться, что в каталоге существует класс Customer.class,

# find . -name Customer.class
./WEB-INF/classes/com/mkyong/customer/model/Customer.class
# pwd
/usr/share/tomcat6/webapps/<your_webapp_context>

Также убедитесь, что все необходимые библиотеки размещены в папке lib. Ниже перечислены те, которые существуют в моей папке lib веб-приложения Примечание : когда зависимость библиотек не встречается, вы получите много исключений при развертывании файла войны.

  • ANTLR-2.7.2.jar
  • Викисклада BeanUtils-1.8.0.jar
  • Обще-цепи 1.2.jar
  • Обще-варочного-1.8.jar
  • Обще-ю-1.1.jar
  • Обще-валидатор-1.3.1.jar
  • dom4j-1.6.1.jar
  • Джеронимо-JPA-2,0-spec.jar
  • гуава-11.0.1.jar
  • спящая-Викисклад аннотации-3.2.0.Final.jar
  • зимуют-ядро-3.6.4.Final.jar
  • Javassist-3.12.0.GA.jar
  • оро-2.0.8.jar
  • PostgreSQL-jdbc4-9.1.jar
  • кварц-все-1.6.6.jar
  • весна-бобы-2.5.jar
  • весна-контекст-2.5.jar
  • весна-контекст-поддержка-2.5.jar
  • весна-2.5.jar JDBC
  • весна-ОРМ-2.5.jar
  • весна-tx.jar
  • весна веб-2.5.jar
  • весна-webmvc-распорки-2.5.jar
  • распорка-ядро-1.3.10.jar
  • распорка-дополнения-1.3.10.jar
  • распорка-TagLib-1.3.10.jar
  • распорки-плитка-1.3.10.jar

Несколько дней назад я провел урок по интеграции с PostgreSQL, и он работает нормально. Если хочешь, я могу куда-нибудь загрузить свой военный файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...