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>