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

Wildfly环境下用POI从Oracle导出Excel报NoSuchMethodError错误

Oracle数据导出Excel报错java.lang.NoSuchMethodError解决方案

你遇到的java.lang.NoSuchMethodError: org.apache.poi.hssf.record.BOFRecord.setVersion(S)V错误属于典型的依赖包版本冲突问题,基于POI实现的导出功能在编译时和Wildfly运行时加载的POI jar包版本不匹配,运行时加载的低版本POI包中BOFRecord类没有对应的setVersion方法。

具体解决步骤

  • 统一应用内POI组件版本:检查项目WEB-INF/lib下所有POI相关依赖(包括poi、poi-ooxml、poi-ooxml-schemas、poi-scratchpad等),确保所有组件版本号完全一致,禁止不同版本POI组件混用。
  • 适配JDK版本:你当前使用的是JDK1.6,POI最高兼容版本为3.14,不可使用4.x及以上版本的POI,否则会出现版本不兼容问题。
  • 排除Wildfly服务器内置POI依赖:Wildfly默认优先加载服务器公共库的依赖,若服务器内置了低版本POI,会覆盖应用内的POI版本,你需要在应用WEB-INF目录下新增jboss-deployment-structure.xml配置文件,强制排除服务器自带的POI模块,配置参考:
<jboss-deployment-structure>
  <deployment>
    <exclusions>
      <!-- 排除服务器自带的POI依赖 -->
      <module name="org.apache.poi"/>
    </exclusions>
  </deployment>
</jboss-deployment-structure>
  • 重新部署验证:清理项目编译缓存,重新打包应用后部署到Wildfly,重启服务器后再次测试Excel导出功能即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 15:39:02