我使用json—lib一系列jar包处理json和java对象之间的互相转换,同样的jar包在我写的测试程序里一切正常;可是当我将同样的代码和jar包导入正式项目后,就一直报错:
2013-8-21 15:48:53 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet ExportExcelServlet threw exception
java.lang.NoSuchMethodError: org.apache.commons.collections.map.ListOrderedMap: method <init>()V not found
at net.sf.json.JSONObject.<init>(JSONObject.java:1450)
at net.sf.json.util.CycleDetectionStrategy.<clinit>(CycleDetectionStrategy.java:37)
at net.sf.json.JsonConfig.<clinit>(JsonConfig.java:65)
at net.sf.json.JSONArray.fromObject(JSONArray.java:105)
at com.cyber.servlet.ExportExcelServlet.doPost(ExportExcelServlet.java:40)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.cyber.html.filter.EncodingFilter.doFilter(EncodingFilter.java:27)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.anychart.servlet.ResourceFilter.doFilter(ResourceFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
==========================================================================================
共同引用的jar包有:
commons-beanutils-1.7.0.jar
commons-collections-3.1.jar
commons-lang-2.1.jar
commons-logging-1.1.1.jar
ezmorph-1.0.6.jar
json-lib-2.4-jdk15.jar
测试程序里面除了以上这些jar文件之外就是struts的一些jar文件!
正式项目跟以上jar文件类似的有:
commons-beanutils.jar
commons-collections.jar
commons-lang.jar
一直以为是jar包冲突,但我将commons-beanutils.jar、commons-collections.jar、commons-lang.jar
删去也报同样的错误或者就是找不见net.sf.json.JsonConfig的错误
注:我项目用的是jdk1.6 Myeclipse 6.5 tomcat6.0
找了俩天都没有找到问题到底在哪?同样的文件和代码,在不同项目怎么就不行呢!求大侠指点啊!
===============================================================================
正式项目所引用jar文件截图:
后台java代码片段:
异常信息: