java - 使用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>
- 春天:5.2.7-发布
- 爪哇:1.8.0_161
- 等级:5.6.4
- 想法:2020.1.1
解决方案
只需在 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}'
推荐阅读
- react-native - 如何在 react-native 的 Webview 底部显示一个按钮?
- python - 使用 Python 抓取 Youtube 搜索结果
- node.js - 来自下载的站点安全性,例如 webcopy
- javascript - 在 package.json 中设置启动脚本
- python - VS Code jupyter notebook matplotlib 直接在绘图查看器中绘图?
- javascript - React:从类到函数的异步
- javascript - vue:使用可选参数将 2 个方法重构为 1 个方法?
- github - 如何将 github 赞助商按钮添加到自述文件
- python - 为点和多边形的大量集合有效地匹配点到几何(多边形中的点)
- r - 如何计算涉及日期时间的特定条件的事件