java.lang.ClassNotFoundException:org.json.JSONObject

sdnqo3pr  于 2022-11-26  发布在  Java
关注(0)|答案(2)|浏览(185)

我正在Eclipse Mars中开发一个WAR项目,它运行在Tomcat 7应用服务器上。我还使用Java JSON API从REST Web服务创建JSONObjects。我已经确保我的pom.xml文件包含JSON依赖项,以便下载正确的jar。

  1. <dependencies>
  2. <dependency>
  3. <groupId>junit</groupId>
  4. <artifactId>junit</artifactId>
  5. <version>3.8.1</version>
  6. <scope>test</scope>
  7. </dependency>
  8. <dependency>
  9. <groupId>org.json</groupId>
  10. <artifactId>json</artifactId>
  11. <version>20151123</version>
  12. </dependency>
  13. <dependency>
  14. <groupId>javax.servlet</groupId>
  15. <artifactId>jstl</artifactId>
  16. <version>1.2</version>
  17. </dependency>
  18. <dependency>
  19. <groupId>javax.servlet</groupId>
  20. <artifactId>servlet-api</artifactId>
  21. <version>2.5</version>
  22. <scope>provided</scope>
  23. </dependency>
  24. <dependency>
  25. <groupId>javax.faces</groupId>
  26. <artifactId>javax.faces-api</artifactId>
  27. <version>2.2</version>
  28. </dependency>
  29. <dependency>
  30. <groupId>com.sun.faces</groupId>
  31. <artifactId>jsf-impl</artifactId>
  32. <version>2.2.12</version>
  33. </dependency>
  34. </dependencies>

可以在我的项目结构中的
Java Resources > Libraries > Maven Dependencies > json-20151123.jar .
但是,当我在服务器上运行代码时,收到以下异常。

  1. Feb 03, 2016 10:25:55 AM org.apache.catalina.core.StandardWrapperValve invoke
  2. SEVERE: Servlet.service() for servlet [Faces Servlet] in context with path [/JsonHotUkDealsApi] threw exception [org/json/JSONObject] with root cause
  3. java.lang.ClassNotFoundException: org.json.JSONObject
  4. at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1856)
  5. at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1705)
  6. at java.lang.Class.getDeclaredMethods0(Native Method)
  7. at java.lang.Class.privateGetDeclaredMethods(Class.java:2531)
  8. at java.lang.Class.privateGetPublicMethods(Class.java:2651)
  9. at java.lang.Class.getMethods(Class.java:1467)
  10. at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1280)
  11. at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1141)
  12. at java.beans.Introspector.getBeanInfo(Introspector.java:416)
  13. at java.beans.Introspector.getBeanInfo(Introspector.java:163)
  14. at com.sun.faces.mgbean.ManagedBeanBuilder.getPropertyDescriptor(ManagedBeanBuilder.java:386)
  15. at com.sun.faces.mgbean.ManagedBeanBuilder.bakeBeanProperty(ManagedBeanBuilder.java:317)
  16. at com.sun.faces.mgbean.ManagedBeanBuilder.bake(ManagedBeanBuilder.java:107)
  17. at com.sun.faces.mgbean.BeanManager.preProcessBean(BeanManager.java:353)
  18. at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:262)
  19. at com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:244)
  20. at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:116)
  21. at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
  22. at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
  23. at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:71)
  24. at org.apache.el.parser.AstValue.getTarget(AstValue.java:94)
  25. at org.apache.el.parser.AstValue.invoke(AstValue.java:260)
  26. at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:273)
  27. at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
  28. at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
  29. at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
  30. at javax.faces.component.UIViewAction.broadcast(UIViewAction.java:559)
  31. at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
  32. at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
  33. at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
  34. at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
  35. at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
  36. at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
  37. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
  38. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  39. at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
  40. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
  41. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  42. at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
  43. at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
  44. at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
  45. at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
  46. at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
  47. at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
  48. at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
  49. at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
  50. at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
  51. at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
  52. at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
  53. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  54. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  55. at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  56. at java.lang.Thread.run(Thread.java:744)

任何帮助都是感激不尽的。谢谢。

1bqhqjot

1bqhqjot1#

使用gradleeclipse时,我通过在运行命令java -cp build/libs/jarFile.jar:build/libs/* projectName.mainClassName中显式指定引用库的目录来解决此问题。这是假设引用的.jar文件位于build/libs/*

yyyllmsg

yyyllmsg2#

您可以使用JacksonMap器将对象更改为json。

  1. <dependency>
  2. <groupId>org.codehaus.jackson</groupId>
  3. <artifactId>jackson-mapper-asl</artifactId>
  4. <version>1.9.13</version>

相关问题