jdk17 环境easyexcel导入excel报错java.lang.NoClassDefFoundError: org/apache/commons/io/build/AbstractStream
报错java.lang.NoClassDefFoundError: org/apache/commons/collections4/ListValuedMap
通常表示缺少了某个类,在这个案例中是Apache Commons Collections库的一个类。
解释:
EasyExcel在解析Excel文件时可能会依赖Apache Commons Collections库中的一些类。如果JVM在运行时找不到这些类,就会抛出NoClassDefFoundError
错误。
解决方法:
- 确认你的项目依赖中是否包含了Apache Commons Collections库。如果没有,你需要添加这个库到项目依赖中。
- 如果你使用的是Maven或Gradle等构建工具,可以在项目的
pom.xml
或build.gradle
文件中添加以下依赖(以Maven为例):
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.4</version> <!-- 确认使用的版本与EasyExcel兼容 -->
</dependency>
- 确保你的项目构建路径正确,并且所有的依赖都已经下载并加入到类路径中。
- 如果你已经确保依赖存在,但问题依然存在,尝试清理并重新构建你的项目。
确保你使用的EasyExcel版本与JDK 17兼容,有些老旧的版本可能不支持JDK 17。如果需要,你可以查看EasyExcel的官方文档或更新日志来获取支持信息。
评论已关闭