问题: 引用ExcelUtils的jar包,调用方法时出现“java.lang.NoSuchMethodError: org.apache.poi.util.IOUtils.copy”的异常提示。原因可能是项目中引入了多种版本的jar包导致。
解决:
在调用的方法前,使用以下代码将引用jar的路径显示出来,可以确认项目使用的jar版本是否与自己pom.xml引用的是否一致。ClassLoader 也可以用于其他jar重复引用的定位问题。
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);