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

将Multipart XLSX文件转为Workbook时触发NoSuchMethodError错误求助

问题:Multipart XLSX文件转Workbook时触发NoSuchMethodError异常

将Multipart类型的xlsx文件转换为workbook时发生异常,具体错误信息如下:

错误 - 进入全局异常处理器。处理请求时发生异常:jakarta.servlet.ServletException:
处理器调度失败:java.lang.NoSuchMethodError: 'org.apache.commons.compress.archivers.zip.ZipArchiveEntry
org.apache.commons.compress.archivers.zip.ZipArchivelnputStream.getNextEntry()'
at
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1104)

排查与解决方法
  • 核心原因:这是commons-compress依赖版本不兼容导致的问题——要么当前依赖版本过低,不存在getNextEntry()方法;要么项目中存在多个不同版本的commons-compress包,类加载时出现冲突。
  • 解决步骤:
    1. 排查依赖冲突:
      • Maven项目执行命令:mvn dependency:tree,查找所有org.apache.commons:commons-compress条目,检查是否有多个版本共存。
      • Gradle项目执行命令:gradle dependencies,同样排查版本冲突情况。
    2. 统一依赖版本:
      • 明确指定兼容的commons-compress版本(推荐4.0及以上,该方法在这些版本中稳定提供)。
      • 若其他依赖(如POI)自带旧版commons-compress,手动排除冲突依赖。示例Maven配置:
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>你的POI版本号</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.commons</groupId>
                    <artifactId>commons-compress</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        
    3. 重建项目:
      • 清理本地仓库中冲突的依赖包,执行mvn clean install(Maven)或gradle clean build(Gradle)重新构建。
    4. 验证最终依赖:确认打包后的项目中仅存在一个指定版本的commons-compress.jar文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 07:57:17