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

相关推荐
Flynt2 小时前
把公司项目迁到 Spring Boot 4.0:编译通过只是开始
java·spring boot·后端
Tangyuewei2 小时前
给老 Spring 项目装个 AI Agent
java·人工智能·spring
她的男孩2 小时前
多租户和数据权限怎么共存?扒完拦截器注册链路,我找到 4 个隐蔽的坑
java·后端·架构
小溪学编程3 小时前
Java BufferedReader 详解:从基础用法到性能优化
java·python·性能优化
HZero.chen3 小时前
Java 匿名类简介
java·匿名类
用户3126874877203 小时前
Java 泛型擦除到底擦掉了什么?类型安全与桥接方法深度拆解
java
暖焰核心3 小时前
继承全解——继承、默认成员函数、切片、隐藏与虚继承
java·前端·javascript
君顾13 小时前
外卖CPS系统开发实战指南:从架构设计到部署全流程解析
java·开发语言·外卖
奇牙coding1234 小时前
GPT-5.5 升级 GPT-5.6 接入指南:流式调用配置与常见问题
java·网络·gpt·ai
老刘的望远镜4 小时前
AgentScope Java 从零(03):Agent 的记性默认全开,我在第 50 轮翻了车
java·开发语言·javascript