第一种:查看Servlet3.0中出现了新增注释@WebServlet。
ervlet3.0中出现了新增注释@WebServlet ,在Eclipse生成一个新的Servlet类时会自动增加@WebServlet注释,改注释会自动为我们配置web.xml,所以这时候我们再去配置web.xml就会产生冲突,tomcat就不能启动。这个时候我们只需要删除@WebServlet或者删除web.xml配置就能正常启动tomcat了。
第二种:.端口被占用
如果是这种小白可以直接重启电脑试试
第一步,在开始菜单->运行->cmd->输入netstat -ano,在本地地址那栏可以查看哪个进程占用了8080和8009端口(具体看你的Tomcat服务器是用什么端口的);
第二步,使用taskkill /pid 6856 /f 将端口关闭,其中6856代表占用窗口的PID,每台机子都不一样,根据实际情况来
------------------------------------------------------------
一般有以上两种情况导致的无法运行,报错。由于我卸载了tomcat9,重新安装了tomcat9,后来又卸载,重新安装了tomcat8.5,还是会出现Server Tomcat Server at localhost failed to start。我也卸载了我的oxygen版本的eclipse(此版本是2017版本的),然后下载了最新的eclipse,又卸载掉最新的eclipse版本,重新下载oxygen版本,这个问题还是存在。再后来我有下载回来了最新版本的eclipse。
我说的那么啰嗦的原因是,如果出现Server Tomcat v9.0 Server at localhost failed to start,而且输出错误信息:
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java...........
这种情况我觉得一般可以通过重装tomcat服务器解决,如果解决不了的话,那么肯定是你的项目运行的时候修改了tomcat的默认配置,导致无论怎么重新安装,程序还是无法运行。
我的情况是属于第一种。
原文地址:https://www.cnblogs.com/hmy-666/p/12419599.html