1、问题出现的场景是:tomcatv8.5一直用作练习的服务器,突然期间写了一段java项目,但是想启动tomcat时却出了问题
问题原因:是因为当时项目工程太多,就把不用的maven web项目关闭了,还有一些在tomcat中添加的服务器,因为你关闭了这个项目,所以tomcat找不到了,导致remove项目也无法remove,开启服务器也无法开启。
解决方法:把关闭的项目重新打开 ,点击 run as server 就恢复如初啦。
2、问题出现的场景是:整合配置springmvc到maven web项目中,开启tomcat失败,console报了如下错误:
A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/JT-SYS-V1.0]]
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:941)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1421)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1411)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/JT-SYS-V1.0]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
... 6 more
Caused by: java.lang.IllegalArgumentException: Servlet mapping specifies an unknown servlet name [dispathcerServlet]
at org.apache.catalina.core.StandardContext.addServletMappingDecoded(StandardContext.java:3193)
at org.apache.catalina.core.StandardContext.addServletMappingDecoded(StandardContext.java:3184)
at org.apache.catalina.startup.ContextConfig.configureContext(ContextConfig.java:1366)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1180)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:765)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 6 more
截取重要部分为了让一些出现同样错误的人可以查到本解决方案
问题原因:是因为在web.xml文件中配置dispathcerServlet时,<servlet-mapping>中的名字必须与<servlet>中的一样,我是不小心拼错了,所以推荐大家直接ctrl+shift+T 查找类名后复制粘贴,将第一个字母改成小写。仔细看控制台,可以发现错误的。