maven多版本包导致java.lang.NoClassDefFoundError

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.具体情况具体而定

相关推荐
AI人工智能+电脑小能手2 小时前
大白话说Java设计模式-26-策略模式(业务实战篇)
java·spring·设计模式·策略模式·支付系统·算法切换
不是光头 强2 小时前
Java 后端 AI 技术选型与学习路线
java·人工智能·学习
paopaokaka_luck3 小时前
基于springboot3+vue3的文山民族文化资源展示与推广平台(协同过滤算法、Echarts 图形化分析)
java·前端·spring boot·学习·echarts
eralong3 小时前
Java IO 与 NIO
java·后端
Jesse_EC3 小时前
我给消息推送加了 Publisher Confirm,然后亲手引入了一个竞态
java
S3rein3 小时前
JAVA多线程手撕
java·多线程
用户8181870627463 小时前
第7章 死锁排查实录:jstack定位死锁的完整流程
java·后端
刀锋00013 小时前
Java 工程师转 AI Agent 最短路径:用 Spring 的思维理解 Spring AI 2.0(附 LangChain4j 对照)
java·人工智能·spring boot·spring·ai agent
喵同志不止步于码农3 小时前
Java Caffeine 快速入门
java·开发语言·后端·并发·缓存一致性
Java成神之路-3 小时前
Java 并发灵魂拷问:notify/signal 唤醒顺序是规范还是实现?
java