当前位置: 首页 > article >正文

使用easypoi-spring-boot-starter 4.1.1导入excel报错NoSuchMethodError和NoSuchMethodError

前言

使用easypoi进行excel的导入遇到的错误以及解决办法

easypoi项目地址:https://gitee.com/lemur/easypoi

easypoi的Maven依赖:

<dependency>
    <groupId>cn.afterturn</groupId>
    <artifactId>easypoi-spring-boot-starter</artifactId>
    <version>4.1.1</version>
</dependency>

报错一:NoSuchMethodError

报错描述:

NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit()

解决办法:

XmlOptions.setEntityExpansionLimit() 错误,是 jar 包版本引起的,3.0 版本以下的 xmlbeans 中根本没有该方法,需要将jar升级到 3.0+ 版本才可以。另外加入 xmlbeans 的jar以后,不要再加入 xbean.jar

XMLBeans是什么?XMLBeans 是一种 Java 技术,它用于处理 XML 数据。XMLBeans 提供了一种将 XML 数据映射到 Java 对象的方式,从而可以轻松地在 Java 应用程序中处理和操作 XML 数据。

引入以下Maven依赖即可解决报错问题

<dependency>
    <groupId>org.apache.xmlbeans</groupId>
    <artifactId>xmlbeans</artifactId>
    <version>3.1.0</version>
</dependency>

报错二:NoSuchMethodError

报错描述:

org.apache.commons.lang3.StringUtils.isNoneEmpty([Ljava/lang/CharSequence;)Z
        at org.activiti.editor.language.json.converter.BpmnJsonConverter.convertToJson(BpmnJsonConverter.java:242)
        at org.activiti.editor.ui.ConvertProcessDefinitionPopupWindow$2.buttonClick(ConvertProcessDefinitionPopupWindow.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

解决办法:

commons-lang3版本太低了,没有isNoneEmpty方法,升级至3.9及之后的版本即可

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.9</version>
</dependency>

参考

  1. https://blog.csdn.net/hanjiaqun/article/details/102705107
  2. https://alidocs.dingtalk.com/i/nodes/oP0MALyR8k7ANjxjhjjPYaL783bzYmDO

http://www.kler.cn/a/107406.html

相关文章:

  • 豆瓣均分9:不容错过的9本大模型入门宝藏书籍,非常详细收藏我这一篇就够了
  • 前端开发中常用的包管理器(npm、yarn、pnpm、bower、parcel)
  • 【JVM】关于JVM的内部原理你到底了解多少(八股文面经知识点)
  • 智能电视/盒子的应用管理——通过ADB工具优化体验
  • VMware虚拟机安装Win7专业版保姆级教程(附镜像包)
  • 设计模式:工厂方法模式和策略模式
  • python 字符串str与字典dict转换
  • 【Qt】窗口和对话框区别、主窗口和二级窗口区别、QMainWindow和QDialog区别
  • Ubuntu deadsnakes 源安装新版 python
  • 蓝桥杯 Java k倍区间
  • 0047【Edabit ★☆☆☆☆☆】Minimal I: If Boolean Then Boolean
  • RK3588开发笔记-USB3.0接口调试
  • VMware打开共享虚拟机后找不到/mnt/hgfs/文件夹,以及不能拖拽/复制粘贴等操作,ubuntu不能安装VMware tools
  • 3台Centos7快速部署Kafka集群
  • 如何在Node.js中使用环境变量或命令行参数来设置HTTP爬虫ip?
  • 【Proteus仿真】【Arduino单片机】PWM电机调速
  • Mysql的JDBC知识点
  • 【C++的OpenCV】第十四课-OpenCV基础强化(二):访问单通道Mat中的值
  • 轻量级仿 Spring Boot=嵌入式 Tomcat+Spring MVC
  • Qt下实现支持多线程的单例模式
  • Redis进军磁盘存储
  • Spring常见面试题
  • 大数据采集技术与预处理学习一:大数据概念、数据预处理、网络数据采集
  • 一文5000字从0到1使用Jmeter实现轻量级的接口自动化测试(图文并茂)
  • 167. 两数之和 II - 输入有序数组、Leetcode的Python实现
  • 有一个带头结点的单链表L,设计一个算法使其元素递增有序