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].错误,并且在错误提示的后半段出现了 ...
随机推荐
- (4.21)sql server中复制查询结果集
在查询结果窗口中复制列标题似乎是一项简单的任务,但对于业余爱好者来说,这可能是一场噩梦. 没有可见的指令/链接/按钮,其中一个可以使用列标题单击和复制所选数据.让我们看看如何在SQL Server M ...
- awk命令的基本使用
命令主要用法 -格式1:前置命令 | awk [选项] '[条件]{编辑指令}' -格式2:awk [选项] '[条件]{编辑指令}' filename 常用命令选项 -F:指定分隔符,可省略(默认空 ...
- 帝国cms建站-动态获取栏目id
<?php $fcr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]); $topbclassid=$fcr[1]?$fcr[1 ...
- vue 刷新当前页面
情景: 比如在删除或者增加一条记录的时候希望当前页面可以重新刷新 请求接口中直接将数组结果取第0个数组或者第n个数组给变量,会报错 0 的错误,此时多次刷新即可 方法一.这种方法简单快捷,但是页面会有 ...
- linux find grep tail
如果在只是想匹配模式的上下几行,grep可以实现. $grep -5 'parttern' inputfile //打印匹配行的前后5行 $grep -C 5 'parttern' inputfile ...
- C 语言boolean 值判断
printf("%d\n", !0); 1 1 printf("%d\n", !0); #include <std ...
- Scala对class/object反射
近期有需求,要根据解析字符串,根据字符串的内容去调用方法.想到的基本就是使用反射.但是基本上能找到的资料,全没有讲scala的反射.只有零星点点的讲解.大部分都是用scala的语法写java反射最后翻 ...
- Wix制作安装包
Wix制作安装包,找起资料来很费劲,记录一下: Product.wxs,该文件只能制作出msi形式的安装包,不能做到自动检测framework. <?xml version="1.0& ...
- 【LeetCode每天一题】Longest Substring Without Repeating Characters(最长无重复的字串)
Given a string, find the length of the longest substring without repeating characters. Example 1: ...
- 密码登录源码(jsp+java+数据库)
jsp界面: <%@ page language="java" contentType="text/html; charset=utf-8" pageEn ...