Spring Boot log4j造成的Error creating bean with name XX ClassNotFoundException: org.apache.log4j.Level

Spring boot  log4J的依赖问题恐怕是每个java程序员必然会碰到的一个问题,今天我们就彻底解决这个问题。

ClassNotFoundException: org.apache.log4j.Level

NoClassDefFoundError: org/apache/log4j/Level

因为从Spring Boot 1.4开始,spring boot就不支持log4j了,而是log4j2或者logback,但是我们引入的很多第三方库,有的是用的log4j,有的是用的log4j2,此时log4j和log4j2就会冲突报错,无法启动应用。

我们需要在引入了log4j或者log4j2的第三方库中排除掉对日志库的引用,然后单独添加log4j-1.2-api的引用即可。

        <dependency>
            <groupId>org.apache.hbase</groupId>
            <artifactId>hbase-client</artifactId>
            <version>1.2.0</version>
            <scope>compile</scope>
            <exclusions>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
		<dependency>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>log4j-1.2-api</artifactId>
			<version>2.11.0</version>
		</dependency>

猜你喜欢

转载自blog.csdn.net/langeldep/article/details/83115392
今日推荐