在Spring 3.2.3.RELEASE中找不到org.hibernate.SessionFactory,但在3.2.0.RELEASE中运行良好。

时间:2013-08-15 14:33:39

标签: spring hibernate maven

我有这样的Maven配置:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
...
    <dependencies>
...
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>3.2.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>3.2.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.1.9.Final</version>
        </dependency>
...
    </dependencies>
...
</project>

和database-config.xml:

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <context:component-scan base-package="***"/>

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location">
            <value>database/database.properties</value>
        </property>
    </bean>

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="${jdbc.driverClassName}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>

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

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

        <property name="annotatedClasses">
            <list>
                <value>***</value>
                <value>***</value>
            </list>
        </property>

    </bean>

</beans>

我也上课了:

@Repository
public class DataStore {

    @Autowired
    private SessionFactory sessionFactory;

...

}

但是当我尝试运行该应用程序时,我会收到下一个错误:

  

JBWEB000071:根本原因

     

java.lang.ClassNotFoundException:org.hibernate.SessionFactory from   [模块&#34; * .war:main&#34;来自服务模块加载器]     org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:196)     org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:444)     org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:432)     org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:374)     org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:119)     java.lang.Class.getDeclaredFields0(本机方法)     java.lang.Class.privateGetDeclaredFields(Class.java:2308)     java.lang.Class.getDeclaredFields(Class.java:1760)     org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.findResourceMetadata(CommonAnnotationBeanPostProcessor.java:324)     org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(CommonAnnotationBeanPostProcessor.java:285)     org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:840)     org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:495)     org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)     org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:295)     org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)     org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)     org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)     org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:910)     org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:853)     org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:768)     org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor $ AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:486)     org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)     org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:285)     org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1116)     org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)     org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)     org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:295)     org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)     org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)     org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)     org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626)     org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)     org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)     org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:651)     org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:599)     org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:665)     org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:518)     org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:459)     org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)     javax.servlet.GenericServlet.init(GenericServlet.java:242)     org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)     org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)     org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336)     org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)     org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:653)     org.apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:920)     java.lang.Thread.run(Thread.java:722)

如果我将Spring 3.2.3.RELEASE更改为3.2.0.RELEASE,一切看起来都很棒。有什么区别?

0 个答案:

没有答案