大家都知道Log4j最近出名了, 我们知道springboot引用了log4j, 但我们一个项目在pom引用了好几十个包, 真的不知道那个包引用了log4j这个鬼东西, 下面的方法比较靠谱的Log4j解决方案之一!
a) 二话不说, 必然引用log4j的2.15-RC2及以上 这里用的2.16
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.16.0</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.16.0</version> </dependency>
b) 下面就是排除引用了
关于包的引用, maven采用优先规则, 最先引用的是最短路径, 但我们还是要慎重下啊
执行 mvn dependency:tree 列出了所有包的引用树状
mvn dependency:tree
看到了吧, 最短路径是我们刚刚引入的, 另外一个是sprint-boot-starter的, 虽然可能是走的最短路径但是我们还是排除下吧, 求个心理安慰.
在pom.xml文件 Ctrl+F 找到对应引用org.springframework.boot:spring-boot-starter-web, 然后增加exclusions排除引用org.springframework.boot:spring-boot-starter-logging这个包的引用
在次执行 mvn dependency:tree, 看看还有哪些在引用吧