使用poi版本不同导致报错
近日在做poi解析word的时候遇到一个很奇葩的问题,在本地环境测试都没有问题,当部署到测试环境(Linux系统,weblogic10.3.6服务器)一直解析不了,报找不到方法。
具体错误如下:
Caused by: java.lang.NoSuchMethodError: org.apache.poi.hwpf.model.CHPBinTable.<init>([B[BIILorg/apache/poi/hwpf/model/CharIndexTranslator;)V
1、这时我的第一反应就是缺少jar包,于是就从服务器上找对应的jar包,但是发现存在跟本地一样的jar包,
2、然后就想到时jar包冲突,想着难道是weblogic本身的jar包和我的项目的jar包冲突了吗?我从网上找到有可能是weblogic加载类顺序的问题,根据网上的提示找到对应的文件和参数,参数确实是已经优先加载项目中的参数了,我就把这个jar包去掉,结果报的错跟原先不一样了,报的是找不到类,说明这个jar包已经加载了,说明不是jar包冲突的原因。
纠结了差不多快一天了。
3、然后就开始各种问同事,问qq技术群,说明一下,我用的是poi-scratchpad-3.9.jar和poi-3.10.1-20140818.jar这两个,同事建议我两个都用3.12试试,我就试了试,竟然意外的好了,我就在想都用3.10试试,于是就下载一个3.10的,试了试也是可以的,说明难道是版本必须使用一样的吗,但是之前我用这两个jar包成功过,所以就没有往这方面想过。还是没有搞明白到底是什么原因造成的。
记下来以供之后遇到类似的问题做个参考。
使用poi版本不同导致报错相关推荐
- poi版本冲突导致连续报错NoSuchMethodError、VerticalAlignment无法转换为short和ClassNotFoundException的解决办法及兼容性问题解决
项目场景: 在一个线上业务中,涉及到excel转pdf的相关操作,使用了poi库,但是一次运维中发现该功能产生了错误的结果,生成的pdf文件为空.报错信息为Caused by: java.lang.N ...
- mtk一键usb驱动_三菱MRJEB驱动器报错,导致报错原因37.1参数设置范围异常?
三菱MR-JE-B驱动器报错,导致报错原因37.1参数设置范围异常?最近海蓝机电工程师们在做一个项目,做的是三菱MR-JE-B驱动器.工程师们在实操这个项目过程中遇到各种问题,其中就像驱动器报错的问题 ...
- Android-Studio-Chipmunk版本解决gradle报错connection-refuse的问题
Android Studio Chipmunk版本解决gradle报错connection refuse的问题 文章目录 Android Studio Chipmunk版本解决gradle报错conn ...
- Auto.js学习笔记10:实例化自定义对象,在子线程使用JSON.stringify()方法导致报错(已解决)
申明本人使用的autojs是4.1.1版本 JSON.stringify()使用导致autojs软件直接奔溃退出. 报错核心局部代码 var sendInfoObj = { //对象areaCode ...
- 【致敬嵌入式攻城狮第2期活动预热征文】解决瑞萨RA2E1开发板在RT-Thread的版本中编译报错 error: ‘board_cfg.h‘ file not found
解决瑞萨RA2E1开发板在RT-Thread的版本中编译报错 error: 'board_cfg.h' file not found 继上上周在RA2E1开发板上跑通了RT-Thread最新版本的代码 ...
- iOS问题记录 - Xcode 14.3版本运行项目报错
文章目录 前言 开发环境 问题描述 问题分析 解决方案 最后 前言 看到Xcode有新版本,没忍住点了升级,然后问题来了. 2023/04/23更新:关于Xcode 14.3版本目前涉及到的三个问题, ...
- 安卓没删干净导致报错
安卓没删干净导致报错,要到放安卓文件的位置去删!!! 转载于:https://www.cnblogs.com/yuanyifei/p/4154888.html
- Swift5版本以上#selector报错解决
Swift5版本以上#selector报错解决 最近swift 版本变化较大,如果对一个按钮添加一个事件在oc想必都非常熟练,那么在 swift怎么去定义函数,以及函数传参呢 let btn = UI ...
- SylixOS移植常见问题——编译过多文件导致报错
问题复现: 由于RealEvo IDE在Windows下使用的sh.exe支持的命令长度有限(命令要小于16K),如果需要编译的源文件过多,可能会报溢出错误或"make (e=87): 参数 ...
最新文章
- pycharm 自动函数注释
- Micropython教程之TPYBoard开发板DIY智能温控小风扇(萝卜学科编程教育)
- Docker容器安装配置
- 深度学习在美图个性化推荐的应用实践
- Apache的Access.log分析总结
- 《剑指Offer》 调整数组顺序使奇数位于偶数前面
- iOS Programming UIWebView 2
- 【长文详解】T5: Text-to-Text Transfer Transformer 阅读笔记
- 【离散数学】代数系统 第六章 格与布尔代数(4) 布尔代数
- 说唱天王 Eminem 自传《The Way I am》1
- linux dns mx 记录,一起学DNS系列(十三)图文详说A、CNAME、MX和NS记录
- Visual Studio2019安装vsix扩展文件
- 培训机构刷题小程序设计与制作
- 【java导出PDF】
- 淘气的小丁-将图片切换成背景
- Swagger 接口分组
- Vue-Cli 3.0 + vue.config.js
- 如何设置等高线坐标系并输出
- 视频编辑,如何截取视频片段
- 新概念1 0--12