springboot Log4jLoggerFactory StackOverflowError

springboot啓動時候有可能會報log4j的棧溢出,目前很多網站上面的回答都是具體衝突是log4j-slf4j-impl-2.10.0.jar和log4j-to-slf4j-2.10.0.jar,然後給出的方案如下:

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

有時候確實可以,但是有時候不行,我們不妨先看看spring-boot-start-logging的依賴圖

也就是說是spring-boot-starter引用了他。如果你項目裏沒有其他jar引用了spring-boot-starter那麼像上面那樣排除即可,如果你用了那麼棧溢出依然存在。

正確做法如下:

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章