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

使用SoapUI 5.5免费版+POI4.1.1时无法解析XSSFSheet类求助

解决SoapUI 5.5 + POI 4.1.1中"unable to resolve class org.apache.poi.xssf.usermodel.XSSFSheet"错误

问题根源分析

从你提供的jar包列表来看,最核心的问题是版本冲突——你在bin/ext目录里同时放置了POI 4.1.1的新版核心包和老旧的poi-contrib-3.6-20091214.jar,这会导致SoapUI的类加载器出现混乱,无法正确识别并加载POI 4.1.1中的XSSFSheet类。另外,你还缺失了POI运行必需的几个基础依赖包,这也会加剧类加载失败的问题。

分步解决方案

  1. 移除冲突的旧版本jar包
    立刻删除poi-contrib-3.6-20091214.jar,这个2009年的旧版本和POI 4.1.1完全不兼容,会严重干扰新版本类的正常加载。

  2. 补充POI 4.1.1必需的依赖jar包
    POI 4.1.1运行需要以下几个基础依赖(你的当前jar包列表里没有这些),请下载对应版本的jar包放到bin/ext目录:

    • commons-codec-1.12.jar
    • commons-collections4-4.4.jar
    • commons-math3-3.6.1.jar
      这些是POI处理Excel文件时不可或缺的基础工具类包,缺失会直接导致类加载失败。
  3. 重启SoapUI
    SoapUI只会在启动时加载bin/ext目录下的jar包,所以修改完jar包后必须完全关闭并重新打开SoapUI,确保新的jar包被正确加载。

  4. 优化你的Groovy代码(可选但推荐)
    可以改用POI的通用SS(SpreadSheet)接口,这样代码既能同时兼容.xls和.xlsx格式,也能避免直接依赖特定XSSF类带来的潜在问题:

    import java.io.File
    import java.io.FileInputStream
    import org.apache.poi.ss.usermodel.Workbook
    import org.apache.poi.ss.usermodel.WorkbookFactory
    import org.apache.poi.ss.usermodel.Sheet
    import org.apache.poi.ss.usermodel.Row
    
    log.info("start")
    FileInputStream file = new FileInputStream(new File("C://Unique.xlsx"));
    // 使用WorkbookFactory自动识别文件格式
    Workbook workbook1 = WorkbookFactory.create(file)
    Sheet readsheet1 = workbook1.getSheet("Data")
    Iterator<Row> rows = readsheet1.rowIterator()
    

验证步骤

完成以上操作后,重新运行你的Groovy脚本:

  • 如果仍报错,检查bin/ext目录下所有POI相关jar包的版本是否统一为4.1.1,杜绝混合不同版本的情况
  • 确认所有jar包都没有损坏(可重新下载官方的POI 4.1.1二进制包)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 21:02:49