java.lang.NoSuchMethodError: org.apache.poi.util.POILogger.log(I[Ljava/lang/Object;)V

来源:互联网 发布:山海经 美洲 知乎 编辑:程序博客网 时间:2024/05/18 02:37
在使用poi的时候,报了java.lang.NoSuchMethodError: org.apache.poi.util.POILogger.log(I[Ljava/lang/Object;)V错,查找资料了解到是poi的jar包使用了多个版本,导致找方法时找了旧的jar中的数据。
在操作中,我将旧的jar从Java build path中删除掉,但是还是在报错误,后来把workspace里面的包删了再把project clean一下,然后重新部署,OK,问题解决了。
在查找资料的时候发现了一个可以检测class文件走哪个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);classloader = org.apache.poi.POIXMLDocument.class.getClassLoader();res = classloader.getResource("org/apache/poi/POIXMLDocument.class");path = res.getPath();System.out.println("POI OOXML came from " + path);classloader = org.apache.poi.hslf.HSLFSlideShow.class.getClassLoader();res = classloader.getResource("org/apache/poi/hslf/HSLFSlideShow.class");path = res.getPath();System.out.println("POI Scratchpad came from " + path);
错误描述:
/-- Encapsulated exception ------------\java.lang.NoSuchMethodError: org.apache.poi.util.POILogger.log(I[Ljava/lang/Object;)Vat org.apache.poi.openxml4j.opc.PackageRelationshipCollection.parseRelationshipsPart(PackageRelationshipCollection.java:314)at org.apache.poi.openxml4j.opc.PackageRelationshipCollection.<init>(PackageRelationshipCollection.java:164)at org.apache.poi.openxml4j.opc.PackageRelationshipCollection.<init>(PackageRelationshipCollection.java:132)at org.apache.poi.openxml4j.opc.PackagePart.loadRelationships(PackagePart.java:561)at org.apache.poi.openxml4j.opc.PackagePart.<init>(PackagePart.java:109)at org.apache.poi.openxml4j.opc.PackagePart.<init>(PackagePart.java:80)at org.apache.poi.openxml4j.opc.PackagePart.<init>(PackagePart.java:125)at org.apache.poi.openxml4j.opc.ZipPackagePart.<init>(ZipPackagePart.java:78)at org.apache.poi.openxml4j.opc.ZipPackage.getPartsImpl(ZipPackage.java:241)at org.apache.poi.openxml4j.opc.OPCPackage.getParts(OPCPackage.java:684)at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:275)at org.apache.poi.util.PackageHelper.open(PackageHelper.java:37)at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:273)at glodon.gbmp.gp.itemsort.action.ItemSortAction.analizeExcel(ItemSortAction.java:200)at glodon.gbmp.gp.itemsort.action.ItemSortAction.uploadExcel(ItemSortAction.java:154)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:606)at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:871)at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1294)at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:68)at com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor.callMethodWithDebugInfo(XWorkMethodAccessor.java:117)at com.opensymphony.xwork2.ognl.accessor.XWorkMethodAccessor.callMethod(XWorkMethodAccessor.java:108)at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:1370)at ognl.ASTMethod.getValueBody(ASTMethod.java:91)at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)at ognl.SimpleNode.getValue(SimpleNode.java:258)at ognl.Ognl.getValue(Ognl.java:467)at ognl.Ognl.getValue(Ognl.java:431)at com.opensymphony.xwork2.ognl.OgnlUtil$3.execute(OgnlUtil.java:352)at com.opensymphony.xwork2.ognl.OgnlUtil.compileAndExecuteMethod(OgnlUtil.java:404)at com.opensymphony.xwork2.ognl.OgnlUtil.callMethod(OgnlUtil.java:350)at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:430)at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:290)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)at gboat2.base.plugin.struts.interceptor.DestopMetadataInterceptor.intercept(DestopMetadataInterceptor.java:117)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229)at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)at gboat2.base.plugin.struts.interceptor.GboatFileUploadInterceptor.intercept(GboatFileUploadInterceptor.java:159)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229)at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:100)at gboat2.base.plugin.struts.interceptor.GboatFormTokenInterceptor.intercept(GboatFormTokenInterceptor.java:45)at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)



阅读全文
1 0
原创粉丝点击