升级Log4j 1.2.12至2.13.3遇java: package org.apache.logging.log4j不存在错误
别着急,我来帮你搞定这个Log4j升级的问题~
核心问题:依赖配置不对
你当前的pom里只引入了Log4j 2的父POM(<type>pom</type>),这并没有把实际需要的API和核心实现jar包引入到项目中,所以编译器找不到org.apache.logging.log4j包。
正确的POM依赖配置
替换你现有的依赖,引入Log4j 2的API和核心实现模块:
<dependencies> <!-- Log4j 2 核心API包 --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.13.3</version> </dependency> <!-- Log4j 2 具体实现包 --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.13.3</version> </dependency> </dependencies>
正确的导入与使用方式
Log4j 2的API和1.x完全不同,你需要用下面的导入语句:
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager;
获取Logger实例的方式也要改成:
private static final Logger logger = LogManager.getLogger(YourClassName.class);
额外排查步骤
- 执行
mvn clean install命令,清理本地Maven缓存并重新下载依赖,避免旧缓存导致的问题 - 检查你的IDE(比如IDEA/Eclipse)是否正确识别了新依赖:
- IDEA可以打开
File -> Project Structure -> Libraries,确认log4j-api-2.13.3.jar和log4j-core-2.13.3.jar已经在列表里
- IDEA可以打开
- 如果项目中其他依赖间接引入了Log4j 1.x,记得排除掉避免版本冲突,比如:
<dependency> <!-- 这里替换成你项目中依赖Log4j 1.x的组件 --> <groupId>some.group</groupId> <artifactId>some-artifact</artifactId> <exclusions> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions> </dependency>
内容的提问来源于stack exchange,提问作者rosh
相关产品推荐
相关产品推荐

