【问题标题】:Java and Tomcat org.json java.lang.ClassNotFoundExceptionJava 和 Tomcat org.json java.lang.ClassNotFoundException
【发布时间】:2013-11-14 05:54:57
【问题描述】:

我是 servlet 的新手,每当我尝试包含 JSON 库时,我都会收到 java.lang.ClassNotFoundException,我搜索了 Web 和 stackoverflow,我发现的唯一建议是安装我尝试过的依赖项 org.json 和 net.sf。 json 每个及其依赖项都不起作用并给出相同的异常。

有什么想法吗?

【问题讨论】:

  • 您特别想使用哪个 JSON 库?你在哪里包含它?
  • 我尝试了 org.json 然后 net.sf.json 将库复制到 WebContent\lib 并将它们包含在构建路径中
  • 是的,但是哪个课程给你ClassNotFoundException?那个类在那些罐子里吗?
  • JSONObject

标签: java json tomcat servlets


【解决方案1】:

尝试将您的网络应用程序的库放在目录中

WebContent/WEB-INF/lib

【讨论】:

  • +1:不要把它放在构建路径中。 WEB-INF/lib 下的所有内容都会被 Eclipse 自动添加到构建路径中。
【解决方案2】:

JSONObject 包含在java-json.jar 中。确保你的类路径中有java-json.jar。有多个地方可以在 tomcat 中放置 jar,这取决于您希望类加载哪个类加载器。

如果你的应用只需要这个jar,那么只需将它放在你的应用目录下

WEB-INF/lib

值得一读如何在 Tomcat 中加载类以优化放置 jar:http://tomcat.apache.org/tomcat-7.0-doc/class-loader-howto.html

【讨论】:

  • 感谢它有效,但我需要如何以及为什么需要更改类加载器?
  • @Warlock 您不必更改类加载器。但是您应该知道类是如何在 Tomcat 中加载的,以便您可以最佳地放置 jar。阅读:tomcat.apache.org/tomcat-7.0-doc/class-loader-howto.html
猜你喜欢
  • 2016-02-23
  • 1970-01-01
  • 2013-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-12
  • 1970-01-01
  • 2021-12-09
相关资源
最近更新 更多