【问题标题】:javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/jdom2/input/SAXBuilderjavax.servlet.ServletException:java.lang.NoClassDefFoundError:org/jdom2/input/SAXBuilder
【发布时间】:2015-11-24 14:23:09
【问题描述】:

我正在开发一个带有 servlet 和 Tomcat 服务器的 JSP 站点。 目前我无法弄清楚这个错误的问题:

javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/jdom2/input/SAXBuilder

我已经在谷歌上搜索过这个问题并尝试了所有可能性。

包含jdome2

而且代码中的SAXBuild函数也没有错

这是我运行项目时得到的堆栈跟踪

SCHWERWIEGEND: Servlet.service() for servlet [jsp] in context with path                  [/Quiz] threw exception [javax.servlet.ServletException:      java.lang.NoClassDefFoundError: org/jdom2/input/SAXBuilder] with root cause
java.lang.ClassNotFoundException: org.jdom2.input.SAXBuilder
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
at de.fhwgt.quiz.loader.FilesystemLoader.getCatalogs(FilesystemLoader.java:114)
at de.fhwgt.quiz.application.Quiz.getCatalogList(Quiz.java:274)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:194)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:438)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)

我已经尝试使用 jdom1.x.x 代替 jdom2,但没有成功

希望有人可以帮助我。

【问题讨论】:

  • 在 IDE 中存在 JDOM 库是不够的,但它还必须存在于 Web 服务器中。您如何以及将什么部署到您的网络服务器?
  • 检查 jar 是否存在于 WEB-INF/lib 目录中。

标签: java jsp servlets


【解决方案1】:

只需将此jdom jar 移动到WebContent/WEB-INF/lib/

我假设您没有使用像 mavengradle 这样的构建工具。

【讨论】:

  • 谢谢。斯蒂芬已经在上面的评论中告诉我了。但这就是解决方案。再次感谢。
猜你喜欢
  • 2015-04-04
  • 1970-01-01
  • 2019-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多