【问题标题】:java.lang.ClassNotFoundException: org.springframework.orm.hibernate4.LocalSessionFactoryBeanjava.lang.ClassNotFoundException:org.springframework.orm.hibernate4.LocalSessionFactoryBean
【发布时间】:2023-03-26 03:00:01
【问题描述】:

我是 Spring 新手,这是我的第一个示例(JSF 2、PrimeFaces 3、Spring 和 Hibernate 集成) 这是 pom.xml :

<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">
<modelVersion>4.0.0</modelVersion>
<groupId>MVNO.ONP.project</groupId>
<artifactId>MVNOONPProject</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>MVNOONPProject Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>3.8.1</version>
  <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring</artifactId>
    <version>2.5.6.SEC03</version>
</dependency>
<dependency>
  <groupId>com.sun.faces</groupId>
  <artifactId>jsf-api</artifactId>
  <version>2.1.0-b03</version>
</dependency>
<dependency>
  <groupId>com.sun.faces</groupId>
  <artifactId>jsf-impl</artifactId>
  <version>2.1.0-b03</version>
</dependency>
 <dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>jstl</artifactId>
  <version>1.2</version>
</dependency>
 <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>4.1.9.Final</version>
 </dependency>

 <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.22</version>
 </dependency>
 </dependencies>
 <build>
  <finalName>MVNOONPProject</finalName>
 </build>
 </project>

当我运行项目时,我得到了这个错误:

Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springframework.orm.hibernate4.LocalSessionFactoryBean] for bean with name 'SessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.lang.ClassNotFoundException: org.springframework.orm.hibernate4.LocalSessionFactoryBean
    at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1141)
    at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1105)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:386)
    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.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
    ... 41 more
Caused by: java.lang.ClassNotFoundException: org.springframework.orm.hibernate4.LocalSessionFactoryBean
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
    at org.springframework.util.ClassUtils.forName(ClassUtils.java:211)
    at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:385)
    at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1138)
    ... 51 more

【问题讨论】:

    标签: spring maven spring-orm


    【解决方案1】:

    感谢马克 虽然我在做同样的问题

    1. 有时 eclipse 会从 local/.m2 添加 spring 2.5 jar 从构建路径中删除它,或者即使你添加了 spring 4.1,它仍然会使用 spring 2.5

    2 你应该在你的 Maven-dependency 中有 spring orm 依赖 将此添加到 pom.xml

     <dependency>
       <groupId>org.springframework</groupId>
       <artifactId>spring-orm</artifactId>
       <version>4.1.6.RELEASE</version>
    </dependency>
    

    【讨论】:

      【解决方案2】:

      在 Spring Framework 3.1 中添加了对 Hibernate 4 的支持。

      您的 pom.xml 引用 Spring Framework 2.5.6,因此 org.springframework.orm.hibernate4.LocalSessionFactoryBean 不存在。您需要更新 pom.xml 以引用 Spring Framework 3.1 或更高版本。

      【讨论】:

        【解决方案3】:

        这是包含 spring 3.1.1 的新 pom.xml:

          <!-- Spring 3 dependencies -->
          <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-core</artifactId>
           <version>${spring.version}</version>
        </dependency>
        
          <dependency>
          <groupId>org.springframework</groupId>
           <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
          </dependency> 
        
         <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-web</artifactId>
           <version>${spring.version}</version>
          </dependency>
        
         <dependency>
          <groupId>org.springframework</groupId>
           <artifactId>spring-tx</artifactId>
            <version>${spring.version}</version>
           </dependency>
        
         <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-orm</artifactId>
         <version>${spring.version}</version>
         </dependency>
        
          <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-test</artifactId>
                <version>${spring.version}</version>
            </dependency>
        

        【讨论】:

          猜你喜欢
          • 2012-01-22
          • 2018-05-23
          • 2017-02-19
          • 1970-01-01
          • 2012-04-04
          • 1970-01-01
          • 2018-03-22
          • 2014-08-09
          • 1970-01-01
          相关资源
          最近更新 更多