Tomcat因项目迁移,启动窗口一闪而过,启动失败的解决办法。
笔者手动部署一个web项目到Tomcat/webapps/目录下,成功运行。
后来,项目结束,我把webapps下的姓项目文件夹删除。
重启Tomcat时,运行...\apache-tomcat-8.5.41\bin\startup.bat
发现启动出窗口(黑色命令行窗口)一闪而过,tomcat启动失败,无法启动。
先可以查看Tomcat本地日志信息, 日志信息的格式: catalina.YYYY-MM-DD.log YYYY-MM-DD 是当天的日期。
我的
...\apache-tomcat-8.5.41\logs\catalina.2019-05-18.log
中提示,
18-May-2019 11:28:29.475 严重 [Catalina-startStop-1] org.apache.catalina.core.ContainerBase.startInternal A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/DBProgram]]
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:942)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:882)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1423)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1413)
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(ThreadPoolE
........................................................................
查阅别人的博客知道,问题的原因,大概是Tomcat读取服务器配置信息初始化失败了。
这种因为项目迁移,导致Tomcat启动失败的问题,解决办法:
去到 ...\apache-tomcat-8.5.41\conf 文件下:修改server.xml文件
我的server.xml文件路径是:
...\apache-tomcat-8.5.41\conf\server.xml
删除这一行配置信息 <Context docBase="DBProgram" path="/DBProgram" reloadable="true" source="org.eclipse.jst.jee.server:DBProgram"/>
注意不要把</Host>标签删除。
重启Tomcat,黑窗口一闪而过的信息解决了。
Tomcat启动成功。