码迷,mamicode.com
首页 > 编程语言 > 详细

java.lang.NoSuchMethodError: org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(Ljava/io/File;Z) 报错处理

时间:2021-04-22 16:21:06      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:编译   pac   load   报错处理   引用   重新编译   lang   clean   资源   

虚拟机不会无缘无故的报错,字面看下:没有该方法,首先应该推测有可能是Jar冲突导致的,因为一些jar中的类在升级的过程中不会向下兼容,所以有一些高级属性或方法就jar中没有,此POI就是。
可以先看下这个类的资源加载路径:
ClassLoader classloader =org.apache.poi.poifs.filesystem.POIFSFileSystem.class.getClassLoader();
URL res = classloader.getResource("org/apache/poi/poifs/filesystem/POIFSFileSystem.class");
String path = res.getPath();
System.out.println("POI Core came from " + path);

发现这个旧的jar被我从3.7-> 4.1.2 升过级了,怎么还会引用到?

处理办法:maven clean 重新编译,旧jar被删除了,问题得以解决!

另外推荐一下:hutool这个开源jar比较好用,看懂他的封装,然后恰当引用到项目中会事半功倍。

java.lang.NoSuchMethodError: org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(Ljava/io/File;Z) 报错处理

标签:编译   pac   load   报错处理   引用   重新编译   lang   clean   资源   

原文地址:https://www.cnblogs.com/c--k/p/14687465.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!