Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]]
1、问题场景描述:一个maven项目启动时候,偶尔会报tomcat的这个错误(如图:)

随机报错,有时频率很高,要一直重新启动很多次可能还是启动不了,有时不报错。。
2、解决过程:网上各种寻找解决办法,大部分说的是servlet-api的jar包版本和项目使用的tomcat版本不对应,然后去找了一下servlet-api的jar包版本和tomcat版本的对应关系,

发现servlet-api的jar包版本和tomcat版本是对应的,此工程使用的是tomcat7组件,pom文件中

本地仓库中的servlet-api的jar包

是符合对应要求的,说明不是这个问题,开始了解学习tomcat的standardEngine和standardHost这两个类的源码,

a、StandardHost类是Host接口的默认实现;其继承自ContainerBase类,说明他也是一个容器类,既然是容器类,那肯定也有管道对象PipeLine和阀门,其基础阀门(Basic Valve)的实现类是org.apache.catalina.core.StandardHostValve,ErrorReportValve和ErrorDispatcherValve类作为管道对象中的错误处理阀门;
b、当客户端的请求Request要在Host中查找到相应的Context处理请求时,就需要使用mapper对象处理,StandardHost中的mapper实现类是org.apache.catalina.core.StandardHostMapper;当ContainerBase.start启动时会调用addDefaultmapper添加默认的映射器,也就会调用到StandardHost.addDefaultmapper方法:
c、Engine容器也就是tomcat的servlet引擎,StandardEngine类是Engine接口的默认实现;当部署tomcat时需要支持多个虚拟机的话,就需要使用engine容器,事实上,一般情况下,部署的tomcat都会使用一个Engine容器;
d、StandardEngineValve类作为StandardEngine类的基础阀门(Basic Valve),其invoke方法负责查找出对应的Host出来并交由host处理;
......了解了个大概,再回头看下原来的报错,大概知道是启动时候类似于类加载的问题,涉及的很多多个项目工程共用的jar包和单独有的jar包问题等等,需要使用catalina.properties配置文件,经行一些共用和单独使用的一些jar包进行管理,部署一些公用类设置,类加载设置等等:

讲catalina.properties文件放在target文件的tomcat文件夹中的conf配置文件夹目录下,catalina.properties文件其实就是公猫即tomcat的内部脚本文件。
问题解决。
附加上这个catalina.properties附件的地址 https://files.cnblogs.com/files/wmqiang/catalina.zip
Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]]的更多相关文章
- maven运行出现错误:Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]](xjl456852原创)
maven在使用tomcat插件tomcat7-maven-plugin:2.2:run运行项目,出现下面错误: 严重: A child container failed during start j ...
- IntelliJ IDEA启动spring boot项目出现Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].TomcatEmbeddedContext[]]
IntelliJ IDEA启动spring boot项目出现Failed to start component [StandardEngine[Tomcat].StandardHost[localho ...
- sprigboot 异常 Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].Tomc...
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start com ...
- Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContex
问题描述: 在idea中maven构建web项目,启动Tomcat插件时,出现Failed to start component [StandardEngine[Tomcat].StandardHos ...
- Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]] 错误(Day_25)
错误: 在maven项目,web启动的时候报这个错误 Failed to start component [StandardEngine[Tomcat].StandardHost[localho ...
- Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]
今天在测试项目代码时,在idea中配置tomcat7插件运行后一直报如下错误: 解决方案:看了网上大多数办法都是修改xml文件配置,感觉并不适用,最后看到比较靠谱解释如下: pom.xml中jar包发 ...
- Tomcat报错:Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
Failed to start component [StandardEngine[Catalina].StandardHost[localhost]] 解决办法: 1,检测你的web.xml.去掉所 ...
- Tomcat启动时报错,Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext
05-Dec-2016 11:23:44.321 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addCh ...
- tomcat启动时错误:Failed to start component [StandardEngine[Catalina].StandardHost[localhost].错误
今天第一次遇到Failed to start component [StandardEngine[Catalina].StandardHost[localhost].错误,并且在错误提示的后半段出现了 ...
随机推荐
- awk数组
对于awk '!a[$3]++',需要了解3个知识点 1.awk数组知识,不说了2.awk的基本命令格式 awk 'pattern{action}' 省略action时,默认action是{print ...
- 六、SpringBoot与数据访问
六.SpringBoot与数据访问 1.JDBC spring: datasource: username: root password: 123456 url: jdbc:mysql://192.1 ...
- 如何为DigitalOcean上的服务器配置SSH密钥
本指南适用于mac OS和Linux,windows用户请绕道. 通常,当你启动DigitalOcean droplets时,只要过程完成,你会收到一封电子邮件,让你知道droplets的IP地址和密 ...
- chmod a+r file:给所有用户添加读的权限
chmod a+r *:用户自己使用此命令,柯给所有用户添加可读的权限 超级用户给其他用户设置权限:sudo chmod a+rx /home/user 使所有人可以访问,读取文件,bu no W ...
- cxImage控件使用
属性: Picture:载入要显示的图片 Properties->Caption在没有内容的时候显示在图片框中间的文字 Properties->PopupMenuLayout->Me ...
- 下载以及安装VMware Player Pro 64位
1.下载地址:https://download3.vmware.com/software/wkst/file/VMware-workstation-full-14.0.0-6661328.exe 2. ...
- 009-docker-安装-redis:5.0.3
1.搜索镜像 docker search redis 2.拉取合适镜像 docker pull redis:5.0.3 docker images 3.使用镜像 docker run -p 6379: ...
- 20165236 《Java程序设计》第七周学习总结
20165236 <Java程序设计>第七周学习总结 教材学习内容总结 第十一章 JDBC与MySQL数据库 1.MySQL数据库管理系统: MySQL数据库管理系统,简称MySQL,是 ...
- vue 动态绑定背景图片
html <div class="racetm" :style="{backgroundImage: 'url(' + (coverImgUrl ? coverIm ...
- 万恶之源 - Python装饰器及内置函数
装饰器 听名字应该知道这是一个装饰的东西,我们今天就来讲解一下装饰器,有的铁子们应该听说,有的没有听说过.没有关系我告诉你们这是一个很神奇的东西 这个有多神奇呢? 我们先来复习一下闭包 def fun ...