【问题标题】:nested exception is java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder嵌套异常是 java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
【发布时间】:2015-08-21 08:57:59
【问题描述】:

在将休眠核心和 pom 文件中的更改添加到 spring-orm 后更新了问题和代码下方

我正在尝试使用 Spring MVC 并从服务器获取数据并将其存储在数据库中我能够从服务器获取数据,我正在尝试使用休眠将数据存储在 mysql 数据库中,但是在运行代码

错误:

 SEVERE: Servlet.service() for servlet [dispatcher] in context with path [/frr1] threw exception [Request processing failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [resources/database/Hibernate.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder] with root cause
java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder

我的 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>frr1</groupId>
  <artifactId>frr1</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>frr1 Maven Webapp</name>
  <url>http://maven.apache.org</url>
 <properties>
        <spring.version>4.2.0.RELEASE</spring.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <!-- Spring dependencies -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</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-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>


        <dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.9</version>
</dependency>


    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>4.2.0.RELEASE</version>
</dependency>



    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.9</version>
    </dependency>



        <!-- Spring AOP dependency -->
        <dependency>
                <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>2.2</version>
    </dependency>

    <!-- Hibernate framework -->
        <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate</artifactId>
    <version>3.2.3.ga</version>
</dependency>

    <!--<dependency>
        <groupId>hibernate</groupId>
        <artifactId>hibernate3</artifactId>
        <version>3.2.3.GA</version>
    </dependency> -->


    <!-- Hibernate library dependecy start -->
    <dependency>
        <groupId>dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>1.6.1</version>
    </dependency>

    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
    </dependency>

    <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>3.2.1</version>
    </dependency>

    <dependency>
        <groupId>antlr</groupId>
        <artifactId>antlr</artifactId>
        <version>2.7.7</version>
    </dependency>
    <!-- Hibernate library dependecy end -->

 <dependency>
            <groupId>javax.transaction</groupId>
            <artifactId>jta</artifactId>
            <version>1.1</version>
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>${spring.version}</version>
</dependency>

  <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>3.3.2.GA</version>
</dependency>
<!--<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.5.8</version>
  </dependency>-->


    </dependencies>
  <build>
    <finalName>frr1</finalName>
  </build>
</project>

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

    <!-- Database Configuration -->
    <import resource="../database/DataSource.xml"/>
    <import resource="../database/Hibernate.xml"/>

    <!-- Beans Declaration -->
    <import resource="../spring/beans/Issue.xml"/>

</beans>

休眠.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">

<!-- 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>/hibernate/issue.hbm.xml</value>
    </list>
      </property>   

    </bean>
</beans>    

【问题讨论】:

  • 使用这个 pom.xml pastebin.com/SPQrVXYg ,它拥有一个良好的成长项目所需的所有依赖项,还有一些额外的,你不需要的一个一个删除。删除,测试,如果错误重新插入依赖。冲洗并重复。不要忘记将项目名称放在顶部。

标签: java spring hibernate maven spring-mvc


【解决方案1】:

添加到您的 pom.xml:

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>${spring.version}</version>
    </dependency>

【讨论】:

  • 它给出以下错误:org.springframework.beans.factory.BeanCreationException:创建类路径资源[resources/database/Hibernate.xml]中定义的名称为“sessionFactory”的bean时出错:bean实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [org.springframework.orm.hibernate3.LocalSessionFactoryBean]:构造函数抛出异常;嵌套异常是 java.lang.ClassNotFoundException: org.hibernate.cfg.Configuration
  • 你应该检查你的 hibernate 依赖,看起来你错过了 hibernate-core 依赖
  • 即使我添加了 org.slf4jslf4j-api1.5.8 -->
  • 在添加后得到不同的错误 org.slf4jslf4j-api1.5.8 包含后它给了我同样的错误,所以我评论它错误是我已经更新了问题
  • 你不断地改变你的问题的内容。你从 spring 的问题开始,然后是 hibernate,现在是日志记录。不要这样做。或描述您的编辑。我再重复一次——你有依赖关系的问题,所以再检查一次。看简单教程:codejava.net/frameworks/spring/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-12
  • 2011-04-13
  • 2017-04-27
  • 2022-12-05
  • 1970-01-01
  • 2018-03-19
  • 2015-09-10
相关资源
最近更新 更多