沉开

导航

 
虚拟机不会无缘无故的报错,字面看下:没有该方法,首先应该推测有可能是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比较好用,看懂他的封装,然后恰当引用到项目中会事半功倍。
posted on 2021-04-21 23:14  沉开  阅读(1093)  评论(0编辑  收藏  举报