首页 > 其他分享 >同时使用easyexcel和Apache poi的依赖冲突问题

同时使用easyexcel和Apache poi的依赖冲突问题

时间:2024-07-21 12:28:31浏览次数:14  
标签:java easyexcel excel alibaba apache poi Apache com

 

 

前言

Hello,hello!这里是Blue,今天我写代码遇到了一个这样的问题,我在使用easyexcel的时候它无法去执行我的操作,通过我一定的判断最终解决了问题

报错 

com.alibaba.excel.exception.ExcelAnalysisException: java.lang.NoClassDefFoundError: org/apache/poi/POIXMLTypeLoader

	at com.alibaba.excel.analysis.ExcelAnalyserImpl.<init>(ExcelAnalyserImpl.java:57)
	at com.alibaba.excel.ExcelReader.<init>(ExcelReader.java:145)
	at com.alibaba.excel.read.builder.ExcelReaderBuilder.build(ExcelReaderBuilder.java:193)
	at com.alibaba.excel.read.builder.ExcelReaderBuilder.sheet(ExcelReaderBuilder.java:229)
	at com.alibaba.excel.read.builder.ExcelReaderBuilder.sheet(ExcelReaderBuilder.java:217)
	at com.example.jishedemo1.Worldtext.test6(Worldtext.java:139)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
Caused by: java.lang.NoClassDefFoundError: org/apache/poi/POIXMLTypeLoader
	at org.openxmlformats.schemas.spreadsheetml.x2006.main.WorkbookDocument$Factory.parse(Unknown Source)
	at com.alibaba.excel.analysis.v07.XlsxSaxAnalyser.analysisUse1904WindowDate(XlsxSaxAnalyser.java:117)
	at com.alibaba.excel.analysis.v07.XlsxSaxAnalyser.<init>(XlsxSaxAnalyser.java:79)
	at com.alibaba.excel.analysis.ExcelAnalyserImpl.choiceExcelExecutor(ExcelAnalyserImpl.java:99)
	at com.alibaba.excel.analysis.ExcelAnalyserImpl.<init>(ExcelAnalyserImpl.java:51)
	... 8 more
Caused by: java.lang.ClassNotFoundException: org.apache.poi.POIXMLTypeLoader
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
	... 13 more

解决思想 

我看着这一行代码错误,这个错误 java.lang.NoClassDefFoundError: org/apache/poi/POIXMLTypeLoader 指出我的 Java 应用程序在运行时无法找到 Apache POI 库中的 POIXMLTypeLoader 类,这就很奇怪了,在这个地方我并没有使用apache poi库,为什么会报如下错误呢?带着这个好奇,我问了文心一言

依赖冲突?我细想了一下,既然这两个库都是用来操作excel,word 这些东西的,是否开发者在使用的时候,是基于poi库所开发出来的easyexcel呢?翻了一下啊官网,以及百度。的确证实了我这个想法,easyexcel是基于poi开发的,也就是说,它本身就有poi的依赖(如下图)

那么问题就解决了,我在项目中即使用了poi,又使用了easyexcel,此时同时使用就会造成依赖冲突。 那么问题就是如何解决依赖冲突喏!

 解决方案

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel-core</artifactId>
            <version>自己的版本</version>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.poi</groupId>
                    <artifactId>poi-ooxml</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.poi</groupId>
                    <artifactId>poi</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.apache.poi</groupId>
                    <artifactId>poi-ooxml-schemas</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

结尾 

希望本篇文章可以帮助各位

标签:java,easyexcel,excel,alibaba,apache,poi,Apache,com
From: https://blog.csdn.net/m0_75148088/article/details/140586029

相关文章

  • Libtorch与QTOpenCV 和 Point Cloud Library 一起使用时出现错误
    我正在尝试在项目中使用libtorch、qt小部件、点云库(pcl)和opencv。对于这个项目,我使用的是cmake列表。问题是当我同时使用所有四个库时,libtorch会抛出错误。如果我使用libtorch、opencv和qt,一切正常,如果我使用pclqt和opencv,一切也都很好。我得到的错误列在下面:/libto......
  • poi @Excel( name="" ) name属性自定义
    /***通过反射动态设置导出的Excel列名**@paramannotatedColumnName:实体类中被@Excel注解的字段名*@paramannotationFieldName:实体类中被@Excel中注解的属性名*@paramnewAnnotationFieldValue:属性的新值*/privatevoidsetEx......
  • 在Jupyter Notebook中进行大数据分析:集成Apache Spark
    在JupyterNotebook中进行大数据分析:集成ApacheSpark介绍JupyterNotebook是一款广泛使用的数据科学工具,结合ApacheSpark后,能够处理和分析大规模数据。ApacheSpark是一个快速的统一分析引擎,支持大数据处理和分布式计算。本教程将详细介绍如何在JupyterNotebook中集成......
  • (ECCV2024论文解读)GPSFormer: A Global Perception and Local Structure Fitting-based
    目录摘要1、引言2、方法2.1 背景3.2 全局感知模块2.3 局部结构拟合卷积泰勒级数局部结构拟合卷积显式结构引入2.4 GPSFormer点云分类部件分割任务3、实验3.13D形状分类ScanObjectNN数据集上的形状分类ModelNet40数据集上的形状分类3.2部件分割3.3小样本分类3.4消融研究全局感......
  • Java中的流式数据处理与Apache Flink应用
    Java中的流式数据处理与ApacheFlink应用大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!今天,我们将探讨如何使用Java与ApacheFlink进行流式数据处理。ApacheFlink是一个开源的流处理框架,支持大规模数据流的实时处理和分析。它以其高性能、低延迟和强大......
  • 如何在AWS上构建Apache DolphinScheduler
    引言随着云计算技术的发展,AmazonWebServices(AWS)作为一个开放的平台,一直在帮助开发者更好的在云上构建和使用开源软件,同时也与开源社区紧密合作,推动开源项目的发展。本文主要探讨2024年值得关注的一些开源软件及其在AWS上的应用情况,希望能够给大家参考使用!2024年数据开源......
  • Apache Tomcat文件包含漏洞复现(详细教程)
    1.漏洞原理 Tomcat服务器是一个免费的开放源代码的Web应用服务器,其安装后会默认开启ajp连接器,方便与其他web服务器通过ajp协议进行交互。属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。Tomcat和IIS等Web服务器一......
  • Self-Supervised Learning for Point Clouds Data: A Survey
    摘要综述了自监督学习(SSL)在3D点云数据处理领域的最新进展,对现有SSL方法进行了细致的分类和评估,并在多个基准数据集上对代表性方法进行了性能比较。同时指出了现有研究的局限性,提出了未来研究的方向。Introduction文章主要是针对自监督学习的(SSL),详细阐述了3D点云数据由于其......
  • Self-supervised Learning for Pre-Training 3D Point Clouds: A Survey
    Abstract点云数据由于其紧凑的形式和表示复杂3D结构的灵活性而被广泛研究。点云数据准确捕获和表示复杂3D几何形状的能力使其成为广泛应用的理想选择,包括计算机视觉,机器人技术和自动驾驶,所有这些都需要了解底层空间结构。这种方法旨在从未标记的数据中学习通用和有用的点云表......
  • 使用Java和Apache Thrift构建高效的RPC服务
    使用Java和ApacheThrift构建高效的RPC服务大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!ApacheThrift是一种开源的RPC框架,支持多种编程语言,能够高效地进行跨语言服务调用。本文将介绍如何使用Java和ApacheThrift构建高效的RPC服务,包括Thrift的基础配......