报错信息
cn.hutool.core.exceptions.DependencyException:You need to add dependency of 'poi-ooxml' to your project, and version >=4.12
再继续往下看报错信息,可看到有
caused by: java.lang.ClassNotFoundException: org.apache.commons.compress.utils.InputStreamStatistics
解决
打开hutool 官网,在hutool官网搜索报错信息,如下,即可搜到以下解决方案:点击即可打开
cn.hutool.core.exceptions.DependencyException:You need to add dependency of 'poi-ooxml' to your project, and version >=4.12
从hutool 官网 可见造成这个问题的3个原因:
部分用户使用POI模块时会提示:
You need to add dependency of 'poi-ooxml' to your project, and version >= 4.1.2
一般以下几个原因:
- 没有引入POI相关jar或引入版本太低
- 引入了多个版本的POI,导致包冲突了
- 没有引入关联依赖,这个具体要看下堆栈中的Cause By
结合我们项目排除了前两个原因,再看报错信息的
caused by: java.lang.ClassNotFoundException: org.apache.commons.compress.utils.InputStreamStatistics
说明跟 org.apache.commons.compress 相关依赖有关:没有引入或者引入版本和 poi 不匹配。
我们项目之前commons-compress 引入版本为1.8.1,现在改为1.21 版本,poi 为4.1.2 版本 解决了这个问题。
最终修改为:文章来源:https://www.toymoban.com/news/detail-617515.html
<properties>
<poi.version>4.1.2</poi.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.21</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
</dependency>
</dependencies>
小结
善于站在 "官网"的 “肩膀” 上解决问题。文章来源地址https://www.toymoban.com/news/detail-617515.html
到了这里,关于cn.hutool.core.exceptions.DependencyException:You need to add dependency of ‘poi-ooxml‘....>=4.12的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!