赞
踩
严重: 子容器启动失败
java.util.concurrent.ExecutionException:org.apache.catalina.LifecycleException: Failed to start component[StandardEngine[Catalina].StandardHost[localhost].StandardContext
eclipse启动web项目时,出现了如下错误:
这个问题之前也遇见过好几次,共同点是当在eclipse运行web项目累计到达一定次数后,弹出localhost failed to start,然后所有的web项目(新项目和旧项目)都会报这个错误。在网上查了些资料,看得晕头转向,这里就总结一下查到的资料,希望对有相似经历的小伙伴提供一点帮助,如果有不正确的地方,请大家指点一二。
发现并没有被占用,排除。
每个人的情况不同,检查是哪一点报错,再去排除。这一次的错误中,我发现了一条错误信息:
Caused by:java.lang.IllegalArgumentException: Invalid [product-update] in servlet mapping
检查代码,原来在一个注解中
@WebServlet(urlPatterns={"/product-delete","/product-upload","product-update"})
少了一个“/”,改成
@WebServlet(urlPatterns={"/product-delete","/product-upload","/product-update"})
运行,错误解决
清除缓存有几种方法,大家可以一个个尝试
如果是部署在tomca启动,按如下路径打开Tomcat\work\Catalina\localhost和Tomcat\webapps,删除两个文件夹里面的项目文件,然后重新导入项目,重新编译。
如果通过部署在eclipse内的tomcat启动,按如下路径打开workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\ work\Catalina\localhost 和 workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps,删除两个文件夹里面的项目文件。
补充
webapps:tomcat默认部署路径
wtpwebapps:eclipse默认部署路径
server窗口–>web项目–>Remove,server窗口–>Tomcat服务器–>Clean
在eclipse左侧项目目录中找到server,删除,然后重新配置。
前两次我是删除重建server解决的,这一次是修改代码解决。总而言之,一定要学会读错误日志文件,报错有多行时不要害怕,认真看,查出是哪一个Exception,然后定位到错误处解决。这一次就是怕麻烦不去看几百行的报错信息,以为是前两次一样的问题,一直没解决,困惑了好久,后来才看报错信息,发现少了打了一个“/”(狗头),这个故事告诉我们千万不要偷懒。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。