javax.servlet.ServletException:Servlet jsp的Servlet.destroy()抛出异常

时间:2014-08-12 21:23:47

标签: java jsp servlets jstl

我不时在Eclipse上遇到这个错误:

Grave: Servlet jsp threw unload() exception
javax.servlet.ServletException: Servlet.destroy() for servlet jsp threw exception
    at org.apache.catalina.core.StandardWrapper.unload(StandardWrapper.java:1486)
    at org.apache.catalina.core.StandardWrapper.stopInternal(StandardWrapper.java:1823)
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
    at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5463)
    at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
    at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3913)
    at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:426)
    at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1345)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1530)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1540)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1519)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoSuchFieldError: deferredExpression
    at org.apache.taglibs.standard.tag.common.core.ForEachSupport.release(ForEachSupport.java:178)
    at org.apache.jasper.runtime.TagHandlerPool.release(TagHandlerPool.java:165)
    at org.apache.jsp.Include.Apertura_jsp._jspDestroy(Apertura_jsp.java:45)
    at org.apache.jasper.runtime.HttpJspBase.destroy(HttpJspBase.java:60)
    at org.apache.jasper.servlet.JspServletWrapper.destroy(JspServletWrapper.java:478)
    at org.apache.jasper.compiler.JspRuntimeContext.destroy(JspRuntimeContext.java:317)
    at org.apache.jasper.servlet.JspServlet.destroy(JspServlet.java:354)
    at org.apache.catalina.core.StandardWrapper.unload(StandardWrapper.java:1465)
    ... 12 more

在Ecplise在控制台窗口打印之后会发生这种情况

ago 12, 2014 11:14:40 PM org.apache.catalina.core.StandardContext reload
Informazioni: Reloading Context with name [/Jeans2] has started
ago 12, 2014 11:14:40 PM org.apache.catalina.core.ApplicationContext log

我认为这意味着Eclipse正在尝试编译我的classe等。 无论如何,我的项目在eclipse之后停止工作,我得到了那个错误

我发现了一些类似的帖子,但我找不到适合我的问题的解决方案。 根据其他帖子的解决方案,我做了这个:

1)我在WEB-INF / lib文件夹中没有jstl jar文件

2)我的java构建路径中没有重复的jar文件

有没有人遇到同样的问题?

我发现了这个: 在运行时抛出此错误的主要原因是“您可能意外(确实故意)从类或接口中删除了一个字段(公共或受保护),并仅重新编译了已编辑的类或接口。 “

也许如果eclipse每2分钟停止重新编译我的项目我不会得到这个错误,对吧?我的意思是,实际上我的申请中没有任何错误,是不是?

1 个答案:

答案 0 :(得分:1)

这似乎是Eclipse Build Automatically 选项生成的问题。只需转到项目 / 自动构建并将其选中以取消选中即可将其关闭。在此之后,您必须通过右键单击它并手动编译项目,然后选择 Build Project 选项。