包冲突主要缘由就是环境中有的地方引用了Log4j,有的地方使用了Log4j2。尤为是使用spring boot时,环境默认是logback,但公司统一使用 log4j2,引入的第三包,使用的是log4j,可是经过common-logging引入的。程序运行时,就出现 java.lang.NoClassDefFoundError: org/apache/log4j/Level
。 解决方式,全部的日志输出,都经过slf4j的方式,把第三方包的Log4j输出,org.slf4j:log4j-over-slf4j:jar 把log4j 转移到slf4j输出,具体实现则是log4j2。就能够解决,此类异常。java
在提供第三包时,建议都经过slf4j。不指定具体的使用,减小引入方,依赖问题。spring