
[英]"java.lang.ClassNotFoundException: com.google.gson.Gson" but have it in build path on local project on Eclipse
[英]java.lang.ClassNotFoundException: com.google.gson.Gson despite having the JAR in the Apache server
阅读有关Stackoverflow上同一错误的许多文章。 但是我仍然收到以下错误(Stacktrace):
Jul 31, 2014 3:08:54 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet TEST_Authenticate threw exception
java.lang.ClassNotFoundException: com.google.gson.Gson
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
at TEST_Authenticate.doGet(TEST_Authenticate.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
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(Thread.java:744)
第70行如下所示:
out.println(new Gson().toJson(TESTAuthenticate("myemail@mydomain.com")));
我正在使用Netbeans,这是我的项目的结构。
我已经在服务器lib
文件夹中包含了JAR,如上图所示。
有人在此帖子中回答“您是否将jar添加到了webapp的/ WEB-INF / lib文件夹中?”,但是,如上图所示,我没有在WEB-INF
看到lib
文件夹。 我想知道我在做什么错?
更新的新屏幕截图显示了gson-2.2.4.jar
我从未使用过NetBeans,但我认为您必须在Tomcat引擎本身的内部类路径和应用程序的类路径之间有所不同。 Tomcat对此进行了分隔,因此不需要Web应用程序使用Tomcat使用的相同版本的库。 没有其他方法可以使用gson库定义项目的依赖项吗? Fe使用maven依赖项并生成项目文件。
我注意到的第二件事:gson-2.2.4-javadoc.jar的内容是什么? 它是否包含类或仅javadoc html文件。
通常,在构建war文件时(使用maven),这些依赖项将添加到生成的.war文件中的WEB-INF / lib文件夹中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.