虛擬機(jī)不會(huì)無緣無故的報(bào)錯(cuò),字面看下:沒有該方法,首先應(yīng)該推測有可能是Jar沖突導(dǎo)致的,因?yàn)橐恍﹋ar中的類在升級(jí)的過程中不會(huì)向下兼容,所以有一些高級(jí)屬性或方法就jar中沒有,此POI就是。
可以先看下這個(gè)類的資源加載路徑:
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);
發(fā)現(xiàn)這個(gè)舊的jar被我從3.7-> 4.1.2 升過級(jí)了,怎么還會(huì)引用到?
處理辦法:maven clean 重新編譯,舊jar被刪除了,問題得以解決!
另外推薦一下:hutool這個(gè)開源jar比較好用,看懂他的封裝,然后恰當(dāng)引用到項(xiàng)目中會(huì)事半功倍。