【问题标题】:Source not found.500 error code找不到源。500 错误代码
【发布时间】:2018-02-07 19:24:15
【问题描述】:

当我尝试调试交给我的某个代码时,我遇到了一个问题,当我尝试调试一些源代码时找不到。我已经检查了我所有的配置源,一切看起来都很好。有人可以解释一下吗我基本上是这个日志所说的以及我错过了什么。

Aug 30, 2017 3:05:03 PM org.apache.catalina.core.StandardHostValve custom
SEVERE: Exception Processing ErrorPage[errorCode=500, location=/error]
java.lang.ClassCastException: org.springframework.web.context.request.async.WebAsyncManager cannot be cast to org.springframework.web.context.request.async.WebAsyncManager
    at org.springframework.web.context.request.async.WebAsyncUtils.getAsyncManager(WebAsyncUtils.java:47)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:955)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:728)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:392)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:311)
    at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:395)
    at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:254)
    at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:349)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:175)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1457)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    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)

【问题讨论】:

  • 看起来你有一个类加载器问题。你的类路径中有两次 sping-web.jar 吗?
  • 如何在 Eclipse 中检查?
  • 您是否在嵌入式 tomcat 中运行代码?
  • 是的。然后我在 Eclipse @Jens 中使用 tomcat 调试我的代码
  • 尝试干净的重建,检查运行配置和构建路径。

标签: java eclipse maven servlets servlet-3.0


【解决方案1】:

这个问题至少有 3 个原因:

1.servlet容器不支持Servlet 2.5。

2.web.xml 未声明符合 Servlet 2.5 或更新版本。

3.webapp 的运行时类路径中充斥着不支持 Servlet 2.5 的不同 servlet 容器 make/version 的 servlet 容器特定 JAR 文件。

为了解决它,

1.确保您的 servlet 容器至少支持 Servlet 2.5。那至少是 Tomcat 6、Glassfish 2、JBoss AS 4.1 等等。例如 Tomcat 5.5 最高支持 Servlet 2.4。如果无法升级 Tomcat,则需要将 Spring 降级到 Servlet 2.4 兼容版本。

2.确保 web.xml 的根声明符合 Servlet 2.5(或更新版本,至少是您的目标运行时支持的最高版本)。例如,另请参阅我们的 servlets wiki 页面的中间位置。

3.确保在 /WEB-INF/lib 中没有任何 servlet 容器特定的库,例如 servlet-api.jar 或 j2ee.jar,或者更糟糕的是,JRE/lib 或 JRE/lib/ext。他们不属于那里。这是初学者在尝试规避 IDE 中的编译错误时很常见的错误,另请参阅 How do I import the javax.servlet API in my Eclipse project?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-06
    • 2011-03-09
    • 1970-01-01
    • 2016-03-20
    • 2014-04-07
    • 2015-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多