1. Caused by: java.lang.NoSuchMethodError: javax.servlet.ServletContext.getVirtualServerName()Ljava/lang/String;

  2. ContainerBase.addChild: start: 
    org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]

maven打包时,tomcat jar包的问题 
springboot有自带的tomcat包

设置成如下即可:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>

现象:我使用的是spring-boot 1.3.3.RELEASE版本,自带的tomcat是8.x的,不设置scope=provide直接打包后,在tomcat8下运行是没有问题的,但在tomcat7下运行就会报以上的错误。

解决过程:我反复比对了打包了spring-boot-starter-tomcat和没有打包的lib区别,发现在tomcat7下,有tomcat-jdbc-8.0.32.jar和tomcat-juli-8.0.32.jar就可以运行,若是有多于的tomcat之类的包,就会产生冲突,从而使tomcat无法成功运行,那问题就变成了只要去除依赖的tomcat多余的jar包就行了,有了这两个jar包就能保证一些springboot的其他包的正常依赖。但就这么简单的问题仍旧花了将近4个小时才解决,汗颜。。。

特别注意:如果最后一个需要打包的项目是需要依赖其他几个项目的,并且配置tomcat的依赖是在其他项目,最好先clean下整个项目,然后再分别生成其他jar,最后再打包war包,不然直接打包最终项目是没有任何效果的。

惨痛总结:这是一个工具使用习惯所导致的简单问题复杂化的问题,很简单的问题,结果把所有方法都试遍了,最后才发现并不是很多方法没用,而是自己的使用方式,使用习惯问题所致。

就好比眼睛被黑布蒙住了,以为自己瞎了,结果去吃各种灵丹妙药,结果目光所见仍然是一片漆黑,实际上只要拿掉黑布就可以了,却硬生生的做了那么多的无用功。

实际上是只要修改了依赖需要生成jar包的项目,一定要先clean下,再依次生成就可以了,即使这个方法没有成功解决,再测试其他方法时,也一定记得clean和install

org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].Standard的更多相关文章

  1. java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext

    java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start com ...

  2. 【报错】java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[

    报错 java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleExce ...

  3. java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]

    本文为博主原创,未经允许不得转载: 被坑了好长时间的bug,差点就要重新配置环境,重新下载,重新开始的境遇.在此记录一下: 首先展示一下报错的异常: -Apr- ::] org.apache.cata ...

  4. tomcat应用org.apache.catalina.LifecycleException: Failed to stop component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]异常的根本原因

    早上,有个应用又挂了,客户端打开时报404,看进程是还在的.倒回第一次异常的地方,可见catalina.out中有如下信息: 08:46:56.646 [ContainerBackgroundProc ...

  5. org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]

    运行servlet程序报错: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Cat ...

  6. java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]

    1.问题描述: 对于创建的springboot项目,通过启动类启动,访问没问题,但打成war部署到tomcat上启动报错,如下: 严重: ContainerBase.addChild: start: ...

  7. java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/xiaozao_web]]

    二月 20, 2017 11:30:28 上午 org.apache.tomcat.util.digester.SetPropertiesRule begin警告: [SetPropertiesRul ...

  8. tomcat 启动报错org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].xxx

    今天在写完一个非常简单的servlet页面跳转的web项目后,启动tomcat报错org.apache.catalina.LifecycleException: Failed to start com ...

  9. ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]

    今天第一次遇到Failed to start component [StandardEngine[Catalina].StandardHost[localhost].错误,并且在错误提示的后半段出现了 ...

随机推荐

  1. Base64 总结

    Base64编码是解决一些无法打印的字符无法显示的问题,将8位的ascii编码转换为6位的表示64个可见字符的算法. 具体而言,首先将编码每三个分成一组,将三个字符转换为总长为24位的二进制 数字,将 ...

  2. Linux各目录及每个目录的详细介绍

    http://www.cnblogs.com/duanji/p/yueding2.html

  3. Codeforces Round #443 Div. 1

    A:考虑每一位的改变情况,分为强制变为1.强制变为0.不变.反转四种,得到这个之后and一发or一发xor一发就行了. #include<iostream> #include<cst ...

  4. SpringMVC的缓存对静态资源的影响 304 Not Modified

    我们知道在springmvc的配置中,可以添加缓存,但是缓存到底对静态资源有什么影响? 测试 没有添加缓存 <mvc:resources mapping="/image/**" ...

  5. 自定义chromium浏览器

    自定义chromium浏览器 来源  https://chaopeng.me/blog/2018/08/17/how-to-develop-full-homebrew-browser.html 最近有 ...

  6. 【hdu 5628】Clarke and math (Dirichlet卷积)

    hdu 5628 Clarke and math 题意 Given f(i),1≤i≤n, calculate \(\displaystyle g(i) = \sum_{i_1 \mid i} \su ...

  7. 【BZOJ5213】[ZJOI2018]迷宫(神仙题)

    [BZOJ5213][ZJOI2018]迷宫(神仙题) 题面 BZOJ 洛谷 题解 首先可以很容易的得到一个\(K\)个点的答案. 构建\(K\)个点分别表示\(mod\ K\)的余数.那么点\(i\ ...

  8. Python面试指南

    1.Python基本语法 1.@staticmethod 和 @classmethod Python中有三种方法,实例方法.类方法(@classmethod).静态方法(@staticmethod). ...

  9. CSS圆角进化论

     CSS圆角发展过程 大致经历了3个阶段,包括: 背景图片实现圆角 CSS2.0+标签模拟圆角 CSS3.0圆角属性(border-radius属性)实现圆角 ☛背景图片实现圆角:==使用背景图片实现 ...

  10. 基于配置文件的redis的主从复制

    redis中主从复制有很多种配置方法: 1. 使用配置文件即为redis.conf来配置 在随从redis中配置 # slaveof {masterHost} {MastePort} slaveof ...