[转]POI 解析excel报错 java.lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/Date1904Support

发布时间 2023-06-12 14:09:22作者: dirgo

前几天做了一个excel上传导入功能,为了通用想同步支持xls和xlsx格式。代码编写期并没有报错,所需要的类也都有。可是应用启动完测式功能的时候报了这么一个错 Caused by: java.lang.NoClassDefFoundError: org/apache/poi/ss/usermodel/Date1904Support 这是为什么呢?我第一感觉是jar包冲突引起的。但是并没有找到同一个包有两个版本, 后来仔细一看poi和poi-ooxml版本不一样。难道是这个问题引导起的便尝试把版本号改为一致的。改了以后还是不行。又折腾了半天,后来发现我改的版本号并没有生效,原来poi maven引用配置在了dependencyManagement里而我改的是dependency里的引用。所以没有起作用。又犯了一个低级错误 。解决这个问题可以总结为以下两点:

1.引有poi.jar和poi-ooxml.jar两个包版本要一致.

2.修改maven依赖jar包版本号时要注意找一下jar包版本是否在dependencyManagement管理。如果存在修改dependencys引用里的版本号是不起作用的 。所以如果在dependencyManagement里管理版本号那么dependencys引用的时候就不要再写版本号了。

如果解析excel同步支持xls和xlsx依赖包下如:

<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.10-FINAL</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.10-FINAL</version>
</dependency>

————————————————
版权声明:本文为CSDN博主「luckyboy198961」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/luckyboy198961/article/details/105035842