首页 > 解决方案 > 使用idea编译spring源码用5.2.7-RELEASE找不到log4j和slf4j包

问题描述

本人使用idea搭建spring源码工程项目,项目搭建成功如下图所示。 在此处输入图像描述

当我创建一个 main 方法并运行它时,它将包含以下错误

Information:2021/2/12 21:23 - Build completed with 49 errors and 0 warnings in 2 s 284 ms
E:\idea_workspace\spring-framework-5.2.7.RELEASE\spring-jcl\src\main\java\org\apache\commons\logging\LogAdapter.java
Error:(22, 32) java: Package org.apache.logging.log4j does not exist
Error:(23, 32) java: Package org.apache.logging.log4j does not exist
Error:(24, 36) java: Package org.apache.logging.log4j.spi does not exist
Error:(25, 36) java: Package org.apache.logging.log4j.spi does not exist
Error:(26, 17) java: Package org.slf4j does not exist
Error:(27, 17) java: Package org.slf4j does not exist
Error:(28, 21) java: Package org.slf4j.spi does not exist
Error:(154, 38) java: Symbol not found
  Symbol:   class LoggerContext
  position: class org.apache.commons.logging.LogAdapter.Log4jLog

示例如下
在此处输入图像描述

令我疑惑的是项目中居然存在log4j包,不知道怎么办。重新编译了好几次,都是一样的结果,请大家帮忙解决,谢谢!
软件版本如下:</p>

主要是这个模块的日志依赖导致的,但是不知道怎么办 在此处输入图像描述

标签: javaspringgradle

解决方案


只需在 gradle 文件(sl4fj 和 log4j)中添加所需的依赖项。当您使用 Spring Boot 时,其中有一个启动器和许多依赖项,但是当您仅使用 Spring 依赖项时,它可以请求另一个依赖项来完成它们的工作。

compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '${version}'
compile group: 'org.slf4j', name: 'slf4j-api', version: '${version}'

推荐阅读