这里调用工具类,我在自己的测试类里面是正常的,就是加到程序里就是一直不能用,一直报下边那个错误,郁闷啊 if(!device.equals("")){
log.info("androidnewlog==="+newlog);

workLog =(WorkLog)JsonUtil.getDTO(newlog, WorkLog.class);
log.info("dto===="+workLog.getQuestion());
inputMap.put("object", workLog);

}这是报错信息
SEVERE: Servlet.service() for servlet [mvc] in context with path [/qnoa] threw exception [Handler processing failed; nested exception is java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher] with root cause
java.lang.ClassNotFoundException: net.sf.ezmorph.Morpher
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at com.qn.oa.controller.CtrlHandler.addObject(CtrlHandler.java:159)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:100)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:604)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:565)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)android

解决方案 »

  1.   

    找不到net.sf.ezmorph.Morpher 类  倒进去就应该可以了吧
      

  2.   

    json依赖的包不完整。
    除了json-lib-2.4-jdk15.jar还依赖一下jar包
    commons-beanutils.jar
    commons-collections.jar
    commons-lang.jar
    commons-logging.jar
    ezmorph-1.0.6.jar //你缺少这个吧
      

  3.   

    刚刚搜索了下,确实还需要一个JAR包,导入之后,又有新的问题来了。
    SEVERE: Servlet.service() for servlet [mvc] in context with path [/qnoa] threw exception [Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException] with root cause
    java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2904)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1173)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    at com.qn.oa.utils.JsonUtil.setDataFormat2JAVA(JsonUtil.java:191)
    at com.qn.oa.utils.JsonUtil.getDTO(JsonUtil.java:36)
    at com.qn.oa.controller.CtrlHandler.addObject(CtrlHandler.java:160)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:100)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:604)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:565)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
      

  4.   

    我现在已经把这个给加上了,又报新错误了,这是我第一次做android服务,,,很多东西都不知道
    SEVERE: Servlet.service() for servlet [mvc] in context with path [/qnoa] threw exception [Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException] with root cause
    java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2904)
      

  5.   

    没有commons-lang.jar,看看是不是全,也不能重复。
      

  6.   

    commons-collections.jar
    这个jar包也需要么?我好像没有这个。
    刚刚把我原来的jar包换成你提供的那几个,报错又变了,,
    我有点搞不明的是,我自己测试的时候非常正常的。
    String jsonworkLog="{\"summary\":\"感受\",\"ownPlan\":\"计划\",\"sort\":\"日总结\",\"achievement\":\"成果\",\"question\":\"问题\",\"harvest\":\"收获\"}";

    WorkLog workLog=new WorkLog();
    workLog=(WorkLog)JsonUtil.getDTO(jsonworkLog, WorkLog.class);
    System.out.println("json数据为:\n"+jsonworkLog);
    System.out.println("转换后的java数据为:\n"+workLog.getSummary());
    但是项目一运行,就报错了。。
    SEVERE: Servlet.service() for servlet [mvc] in context with path [/qnoa] threw exception [Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/beanutils/DynaBean] with root cause
    java.lang.ClassNotFoundException: org.apache.commons.beanutils.DynaBean
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    at com.qn.oa.utils.JsonUtil.setDataFormat2JAVA(JsonUtil.java:191)
    at com.qn.oa.utils.JsonUtil.getDTO(JsonUtil.java:36)
    at com.qn.oa.controller.CtrlHandler.addObject(CtrlHandler.java:160)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
      

  7.   

    那个jar包我现在全都都齐全了,但是还是报错,应该是程序的问题吧,就是提示报错很奇怪,因为我在测试类里转换是完全没有问题的,只是加到程序里面就报错了。
    SEVERE: Servlet.service() for servlet [mvc] in context with path [/qnoa] threw exception [Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commons/beanutils/DynaBean] with root cause
    java.lang.ClassNotFoundException: org.apache.commons.beanutils.DynaBean百度翻译是这样的:
    重度:Servlet。Servlet MVC ]与[路径] [ qnoa出现异常处理程序处理上下文service() [失败;嵌套异常java.lang.noclassdeffounderror:组织/ Apache /共享/框架/ dynabean ]根源java.lang.classnotfoundexception:org.apache.commons.beanutils.dynabean
      

  8.   

    你看到没有,你有两个json.jar包,去掉一个啊
      

  9.   

    我现在换了一个 json数据解析工具类就好了,可能是之前的工具类跟项目哪里冲突了,现在这个是自己写的,。head =EMACTools.jsonObjToJava(newlog, WorkLog.class);
    现在的问题就是:我在调用这个工具类的时候,需要传入数据转换类型,但是我这个方法想公用,因为我其他的模块也要用到这个方法,我总不能写个if(xxx) 然后xxx.class吧有木有一个好点的方法。。