You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java项目使用Apache POI报错Module org.slf4j not found问题求助

问题根因

该报错是Java平台模块系统(JPMS)抛出的依赖缺失错误,Apache POI组件的运行依赖slf4j日志框架,你仅添加了POI自身的jar包,未同步引入slf4j相关依赖到模块路径,因此触发模块查找失败。

Error occurred during initialization of boot layer
java.lang.module.FindException: Module org.slf4j not found, required by org.apache.poi.poi

解决方案
  • 补充slf4j依赖包
    下载匹配POI版本的slf4j-api.jar,以及简单实现包slf4j-simple.jar(测试场景无需额外配置),将两个jar包和POI的所有jar包一同添加到项目的模块路径中。
  • 配置模块声明文件
    若你的项目启用了JPMS模块系统,找到项目根目录下的module-info.java,添加如下依赖声明:
    module yourModuleName {
        // 声明依赖POI核心模块
        requires org.apache.poi.poi;
        // 声明依赖POI OOXML模块(用于操作xlsx格式)
        requires org.apache.poi.ooxml;
        // 声明依赖slf4j模块
        requires org.slf4j;
    }
    
    请将上述代码中的yourModuleName替换为你自己项目的模块名称。
  • 无模块场景快速解决
    如果你不需要使用JPMS的模块隔离能力,可以将所有POI、slf4j的jar包转移到类路径(classpath)下,同时删除项目中的module-info.java文件,Java会自动以无名模块模式运行,不会触发模块校验报错。

你提供的测试代码逻辑无异常,完成上述配置后即可正常读取Excel文件内容。

内容的提问来源于stack exchange,提问作者drew15487

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 18:42:02