maven多版本包导致java.lang.NoClassDefFoundError
2026/8/1 14:59:20 网站建设 项目流程

1.现象

ava.lang.NoClassDefFoundError: Could not initialize class org.apache.commons.compress.archivers.zip.ZipEncodingHelper

堆栈信息如下 java.lang.NoClassDefFoundError: Could not initialize class org.apache.commons.compress.archivers.zip.ZipEncodingHelper at org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream.<init>(ZipArchiveOutputStream.java:338) at org.apache.poi.openxml4j.opc.ZipPackage.saveImpl(ZipPackage.java:489) at org.apache.poi.openxml4j.opc.OPCPackage.save(OPCPackage.java:1489) at org.apache.poi.ooxml.POIXMLDocument.write(POIXMLDocument.java:242) at org.apache.poi.xssf.streaming.SXSSFWorkbook.write(SXSSFWorkbook.java:933)

发生这种说明是maven某个依赖版本有多个依赖版本,应剔除最近引入的。

如何查找依赖

1.先搜索一下ZipEncodingHelper这个类位于哪个依赖包下

2.根据类找到在commons-commpress

2.在idea工具里

会找到多个,如何判断取哪个。

一般情况会选择把最新引入的那个排除掉

2.具体情况具体而定

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询