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 中做如下處理:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-to-slf4j</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.25</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>log4j-over-slf4j</artifactId>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>jcl-over-slf4j</artifactId>
</dependency>

重新啟動項目,不再報錯,問題解決.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM