• 启动Tomcat报错:A child container failed during start


    在之前的工作和学习当中,有碰到过很多未知的,在当时看来十分令人疑惑的问题。当时的解决手段简单粗暴,就是直接百度,搜到对应的解决方案,直接抄过来试试,不行再换,直到问题消失,程序可以正常跑了,立马就不管不问了,认为解决了问题。其实这样很不好,一方面是问题消失了,但并不是真正的被解决了。另一方面则是,自己对这个问题没有更深的感悟和记录,以后碰到同样或者类似的问题,还是没有掌握解决的方法。只依靠百度搜索,对一个想要提升自己,成为编程高手的人来说,实在是最大的阻碍。基于此,以后会把自己碰到过的奇葩问题和解决方式记录在这里,提升自己,也希望能对大家解决问题能有所帮助。


    在启动Tomcat的时候,发现启动不了,报如下的错误:

    严重: A child container failed during start
    java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]
    	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:872)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1420)
    	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1410)
    	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    	at java.lang.Thread.run(Thread.java:744)
    Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    	... 6 more
    Caused by: java.lang.NoClassDefFoundError: javax/annotation/security/DeclareRoles
    	at org.apache.catalina.startup.WebAnnotationSet.loadClassAnnotation(WebAnnotationSet.java:258)
    	at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:136)
    	at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:69)
    	at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:328)
    	at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:768)
    	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
    	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
    	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    	... 6 more
    Caused by: java.lang.ClassNotFoundException: javax.annotation.security.DeclareRoles
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    	... 15 more
    
    二月 23, 2019 4:55:15 下午 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[Tomcat].StandardHost[localhost]]
    	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.StandardEngine.startInternal(StandardEngine.java:262)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    	at org.apache.catalina.startup.Tomcat.start(Tomcat.java:366)
    	at com.example.demo.DemoApplication.start(DemoApplication.java:36)
    	at com.example.demo.DemoApplication.main(DemoApplication.java:18)
    Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]]
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1420)
    	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1410)
    	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    	at java.lang.Thread.run(Thread.java:744)
    Caused by: org.apache.catalina.LifecycleException: A child container failed during start
    	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:950)
    	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    	... 6 more
    Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]
    	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)
    	... 8 more
    Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    	... 6 more
    Caused by: java.lang.NoClassDefFoundError: javax/annotation/security/DeclareRoles
    	at org.apache.catalina.startup.WebAnnotationSet.loadClassAnnotation(WebAnnotationSet.java:258)
    	at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:136)
    	at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:69)
    	at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:328)
    	at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:768)
    	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
    	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
    	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    	... 6 more
    Caused by: java.lang.ClassNotFoundException: javax.annotation.security.DeclareRoles
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    	... 15 more
    
    Exception in thread "main" org.apache.catalina.LifecycleException: Failed to start component [StandardServer[-1]]
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    	at org.apache.catalina.startup.Tomcat.start(Tomcat.java:366)
    	at com.example.demo.DemoApplication.start(DemoApplication.java:36)
    	at com.example.demo.DemoApplication.main(DemoApplication.java:18)
    Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Tomcat]]
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:793)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    	... 3 more
    Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat]]
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:422)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    	... 5 more
    Caused by: org.apache.catalina.LifecycleException: A child container failed during start
    	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:950)
    	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    	... 7 more
    Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]]
    	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)
    	... 9 more
    Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]]
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1420)
    	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1410)
    	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    	at java.lang.Thread.run(Thread.java:744)
    Caused by: org.apache.catalina.LifecycleException: A child container failed during start
    	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:950)
    	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    	... 6 more
    Caused by: java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]
    	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)
    	... 8 more
    Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
    	... 6 more
    Caused by: java.lang.NoClassDefFoundError: javax/annotation/security/DeclareRoles
    	at org.apache.catalina.startup.WebAnnotationSet.loadClassAnnotation(WebAnnotationSet.java:258)
    	at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:136)
    	at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:69)
    	at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:328)
    	at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:768)
    	at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
    	at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
    	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154)
    	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    	... 6 more
    Caused by: java.lang.ClassNotFoundException: javax.annotation.security.DeclareRoles
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    	... 15 more
    
     
    

    打印信息如上所示, 解决方案如下:
    在pom.xml文件里面,引入:

    <dependency>
        <groupId>javax.annotation</groupId>
        <artifactId>javax.annotation-api</artifactId>
        <version>1.2</version>
    </dependency>
    
  • 相关阅读:
    C#中string类型前加@标志的作用
    frame和iframe的区别
    css中float left与float right的使用说明
    一、Linux目录结构
    用户 'IIS APPPOOLClassic .NET AppPool' 登录失败。
    Jquery在线引用地址:
    分析器错误消息: 无法识别的属性“targetFramework”。请注意属性名称区分大小写。
    转:沙漠玫瑰眼影教程
    转:查看oracle数据库允许的最大连接数和当前连接数
    转:怎么用Sql语句获取一个数据库中的所有表的名字
  • 原文地址:https://www.cnblogs.com/yunjiandubu/p/10853954.html
Copyright © 2020-2023  润新知