Spring Boot 项目启动错误 提示 java.lang.ClassNotFoundException org.apache.log4j.Logger


问题描述

spring boot项目升级到2.x,启动时出现错误提示:java.lang.ClassNotFoundException: org.apache.log4j.Logger

原因

查看maven的依赖结构,发现升级到2.x后,org.slf4j的依赖不全,导致出现版本兼容问题.

解决

spring boot 2.x 默认采用 logback 记录日志,手动添加日志依赖,并排除 log4j相关依赖.

maven 的 pom.xml 中做如下处理:


    org.springframework.boot
    spring-boot-starter-web
    
        
            org.apache.logging.log4j
            log4j-to-slf4j
        
    


    org.slf4j
    slf4j-api
    1.7.25


    org.slf4j
    log4j-over-slf4j


    org.slf4j
    jcl-over-slf4j

重新启动项目,不再报错,问题解决.