java - 将 spring boot 从 1.3.5 更新到 1.5.17 后找不到 log4j 库
问题描述
我将 spring boot 从 1.3.5 升级到 1.5.17 并且不再找到 log4j 库。错误显示 Error:(10, 24) java: package org.apache.log4j 不存在。这是我的 pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.17.RELEASE</version>
<relativePath />
</parent>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
<version>1.3.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.10</artifactId>
<version>0.8.2.2</version>
<exclusions>
<exclusion>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
解决方案
从 Spring Boot 1.4 开始,对 log4j 1.x 的支持已被删除,如Spring boot 1.4 的发行说明所示:
在Apache EOL 公告之后,Log4j 1 支持已被删除。
他们建议升级到 log4j 2.x,这可以通过使用以下依赖项来完成:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
推荐阅读
- c# - 如何在 .NET Core 中添加返回 XML 作为对动态对象的响应的功能
- pandas - pyspark pandas UDF在多行中合并日期范围
- html - 来自文本框输入的 Chart.js 数据值仅加载一次
- haskell - Haskell 模式匹配布尔值
- c# - C#用epplus格式化excel列作为带学徒的负数
- mediawiki - 导入的模板在 MediaWiki 上不起作用
- python - Flask React Heroku 部署问题
- azure-devops - Azure DevOps Pipeline - 在变量定义中使用先前定义的变量
- python - Python Pandas 比较两个数据帧并仅保留索引出现在两个数据帧中的数据
- python - Windows 任务计划未运行 Python 脚本