Java读取Excel时出现Log4j2日志实现缺失错误求助
解决Log4j2找不到日志实现的错误
错误原因
Apache POI 5.x版本默认依赖Log4j2作为日志框架,你的项目仅通过POI间接引入了log4j-api(日志接口),但缺少log4j-core(日志实现类库),导致Log4j2无法找到可用的日志实现,只能用SimpleLogger临时输出控制台日志。
解决方案
方案1:添加Log4j2核心依赖
直接在build.gradle中加入Log4j2的核心实现包,版本建议和POI依赖的log4j-api版本保持一致(POI 5.2.3对应log4j-api:2.19.0):
implementation 'org.apache.logging.log4j:log4j-core:2.19.0'
方案2:替换为轻量日志实现(SLF4J+SimpleLogger)
如果不想引入Log4j2核心包,可以排除POI的Log4j2依赖,改用SLF4J的SimpleLogger:
// 排除POI自带的Log4j2接口依赖 configurations.all { exclude group: 'org.apache.logging.log4j', module: 'log4j-api' } // 添加SLF4J接口和SimpleLogger实现 implementation 'org.slf4j:slf4j-api:2.0.7' implementation 'org.slf4j:slf4j-simple:2.0.7'
额外优化:修复依赖版本冲突
你的依赖中poi-ooxml-schemas:4.1.2和poi:5.2.3/poi-ooxml:5.2.3版本不一致,会引发潜在兼容性问题。建议删除poi-ooxml-schemas依赖——因为poi-ooxml已经包含了对应的schemas组件,无需单独引入。
修正后的完整依赖示例:
implementation 'org.apache.commons:commons-collections4:4.4' implementation 'org.apache.poi:poi:5.2.3' implementation 'org.apache.poi:poi-ooxml:5.2.3' implementation 'org.apache.xmlbeans:xmlbeans:5.1.1' // 添加Log4j2核心依赖 implementation 'org.apache.logging.log4j:log4j-core:2.19.0'
内容的提问来源于stack exchange,提问作者ackmondual
相关产品推荐
相关产品推荐

