本文主要是介绍大抵是最全的Tomcat启动报A child container failed during start问题解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我们首先来看看报错
java.net.BindException: Address already in use: JVM_Bind <null>:8080at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:407)at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:623)at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434)at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)at org.apache.catalina.connector.Connector.initInternal(Connector.java:981)at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:814)at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)at org.apache.catalina.startup.Tomcat.start(Tomcat.java:341)at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.startContainer(AbstractRunMojo.java:1238)at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.execute(AbstractRunMojo.java:592)at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957)at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289)at org.apache.maven.cli.MavenCli.main(MavenCli.java:193)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
Caused by: java.net.BindException: Address already in use: JVM_Bindat java.net.DualStackPlainSocketImpl.bind0(Native Method)at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)at java.net.ServerSocket.bind(ServerSocket.java:375)at java.net.ServerSocket.<init>(ServerSocket.java:237)at java.net.ServerSocket.<init>(ServerSocket.java:181)at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:394)... 36 more
四月 05, 2023 3:42:30 下午 org.apache.catalina.core.StandardService initInternal
严重: Failed to initialize connector [Connector[HTTP/1.1-8080]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8080]]at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:814)at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)at org.apache.catalina.startup.Tomcat.start(Tomcat.java:341)at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.startContainer(AbstractRunMojo.java:1238)at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.execute(AbstractRunMojo.java:592)at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957)at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289)at org.apache.maven.cli.MavenCli.main(MavenCli.java:193)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failedat org.apache.catalina.connector.Connector.initInternal(Connector.java:983)at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)... 31 more
Caused by: java.net.BindException: Address already in use: JVM_Bind <null>:8080at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:407)at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:623)at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434)at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)at org.apache.catalina.connector.Connector.initInternal(Connector.java:981)... 32 more
Caused by: java.net.BindException: Address already in use: JVM_Bindat java.net.DualStackPlainSocketImpl.bind0(Native Method)at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)at java.net.ServerSocket.bind(ServerSocket.java:375)at java.net.ServerSocket.<init>(ServerSocket.java:237)at java.net.ServerSocket.<init>(ServerSocket.java:181)at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:394)... 36 more
四月 05, 2023 3:42:30 下午 org.apache.catalina.core.StandardService startInternal
信息: Starting service Tomcat
四月 05, 2023 3:42:30 下午 org.apache.catalina.core.StandardEngine startInternal
信息: Starting Servlet Engine: Apache Tomcat/7.0.47
四月 05, 2023 3:42:31 下午 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].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:1123)at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)... 6 more
Caused by: java.lang.IllegalArgumentException: The servlets named [com.anglyao.ServletDemo2] and [com.anglyao.ServletDemo3] are both mapped to the url-pattern [/demo2] which is not permittedat org.apache.catalina.deploy.WebXml.addServletMapping(WebXml.java:335)at org.apache.catalina.startup.ContextConfig.processAnnotationWebServlet(ContextConfig.java:2466)at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2148)at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2109)at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2102)at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2102)at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2102)at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1293)at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376)at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)... 6 more
四月 05, 2023 3:42:31 下午 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:1123)at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.startup.Tomcat.start(Tomcat.java:341)at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.startContainer(AbstractRunMojo.java:1238)at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.execute(AbstractRunMojo.java:592)at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957)at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289)at org.apache.maven.cli.MavenCli.main(MavenCli.java:193)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.catalina.LifecycleException: A child container failed during startat org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)... 6 more
这样的报错信息不光臭长,而且极难理解,所以给大家列出几个常见的这种报错的解决方法:
1、servlet-api包冲突
出现这个问题的原因是导入了servlet-api包,与tomcat7的依赖包servlet-api冲突,可以检查pom.xml是否导入javax.servlet-api
加上<scope>provided</scope>
之后
<dependencies><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency>
再次运行,成功启动
2、不排除是版本问题,更换servlet版本试一试(但是我还没有遇到过)
3、冗余的配置或多余的代码
检查pom.xml中多余的配置,将多余的配置注释掉
4、路径重复
这一点也是最常见的错误,像我就是在学习的时候,图方便直接copy代码,导致新文件的
@WebServlet注释里的urlPatterns重复与老文件urlPatterns重复,更换一下路径名即可。
也有可能是你的urlPattens路径中的路径不对,好好检查一下。
这篇关于大抵是最全的Tomcat启动报A child container failed during start问题解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!