0


大抵是最全的Tomcat启动报A child container failed during start问题解决

我们首先来看看报错

  1. java.net.BindException: Address already in use: JVM_Bind <null>:8080
  2. at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:407)
  3. at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:623)
  4. at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434)
  5. at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
  6. at org.apache.catalina.connector.Connector.initInternal(Connector.java:981)
  7. at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
  8. at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
  9. at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
  10. at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:814)
  11. at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
  12. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
  13. at org.apache.catalina.startup.Tomcat.start(Tomcat.java:341)
  14. at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.startContainer(AbstractRunMojo.java:1238)
  15. at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.execute(AbstractRunMojo.java:592)
  16. at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
  17. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
  18. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
  19. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
  20. at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
  21. at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
  22. at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
  23. at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
  24. at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
  25. at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
  26. at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
  27. at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957)
  28. at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289)
  29. at org.apache.maven.cli.MavenCli.main(MavenCli.java:193)
  30. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  31. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  32. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  33. at java.lang.reflect.Method.invoke(Method.java:498)
  34. at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
  35. at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
  36. at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
  37. at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
  38. at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
  39. Caused by: java.net.BindException: Address already in use: JVM_Bind
  40. at java.net.DualStackPlainSocketImpl.bind0(Native Method)
  41. at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)
  42. at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
  43. at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
  44. at java.net.ServerSocket.bind(ServerSocket.java:375)
  45. at java.net.ServerSocket.<init>(ServerSocket.java:237)
  46. at java.net.ServerSocket.<init>(ServerSocket.java:181)
  47. at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
  48. at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:394)
  49. ... 36 more
  50. 四月 05, 2023 3:42:30 下午 org.apache.catalina.core.StandardService initInternal
  51. 严重: Failed to initialize connector [Connector[HTTP/1.1-8080]]
  52. org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8080]]
  53. at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
  54. at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
  55. at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
  56. at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:814)
  57. at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
  58. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
  59. at org.apache.catalina.startup.Tomcat.start(Tomcat.java:341)
  60. at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.startContainer(AbstractRunMojo.java:1238)
  61. at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.execute(AbstractRunMojo.java:592)
  62. at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
  63. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
  64. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
  65. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
  66. at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
  67. at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
  68. at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
  69. at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
  70. at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
  71. at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
  72. at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
  73. at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957)
  74. at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289)
  75. at org.apache.maven.cli.MavenCli.main(MavenCli.java:193)
  76. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  77. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  78. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  79. at java.lang.reflect.Method.invoke(Method.java:498)
  80. at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
  81. at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
  82. at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
  83. at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
  84. at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
  85. Caused by: org.apache.catalina.LifecycleException: Protocol handler initialization failed
  86. at org.apache.catalina.connector.Connector.initInternal(Connector.java:983)
  87. at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
  88. ... 31 more
  89. Caused by: java.net.BindException: Address already in use: JVM_Bind <null>:8080
  90. at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:407)
  91. at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:623)
  92. at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:434)
  93. at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
  94. at org.apache.catalina.connector.Connector.initInternal(Connector.java:981)
  95. ... 32 more
  96. Caused by: java.net.BindException: Address already in use: JVM_Bind
  97. at java.net.DualStackPlainSocketImpl.bind0(Native Method)
  98. at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)
  99. at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387)
  100. at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
  101. at java.net.ServerSocket.bind(ServerSocket.java:375)
  102. at java.net.ServerSocket.<init>(ServerSocket.java:237)
  103. at java.net.ServerSocket.<init>(ServerSocket.java:181)
  104. at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
  105. at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:394)
  106. ... 36 more
  107. 四月 05, 2023 3:42:30 下午 org.apache.catalina.core.StandardService startInternal
  108. 信息: Starting service Tomcat
  109. 四月 05, 2023 3:42:30 下午 org.apache.catalina.core.StandardEngine startInternal
  110. 信息: Starting Servlet Engine: Apache Tomcat/7.0.47
  111. 四月 05, 2023 3:42:31 下午 org.apache.catalina.core.ContainerBase startInternal
  112. 严重: A child container failed during start
  113. java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]
  114. at java.util.concurrent.FutureTask.report(FutureTask.java:122)
  115. at java.util.concurrent.FutureTask.get(FutureTask.java:192)
  116. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
  117. at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
  118. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  119. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
  120. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
  121. at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  122. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  123. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  124. at java.lang.Thread.run(Thread.java:748)
  125. Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[]]
  126. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
  127. ... 6 more
  128. 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 permitted
  129. at org.apache.catalina.deploy.WebXml.addServletMapping(WebXml.java:335)
  130. at org.apache.catalina.startup.ContextConfig.processAnnotationWebServlet(ContextConfig.java:2466)
  131. at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2148)
  132. at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2109)
  133. at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2102)
  134. at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2102)
  135. at org.apache.catalina.startup.ContextConfig.processAnnotationsFile(ContextConfig.java:2102)
  136. at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1293)
  137. at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)
  138. at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376)
  139. at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
  140. at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
  141. at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322)
  142. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  143. ... 6 more
  144. 四月 05, 2023 3:42:31 下午 org.apache.catalina.core.ContainerBase startInternal
  145. 严重: A child container failed during start
  146. java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]]
  147. at java.util.concurrent.FutureTask.report(FutureTask.java:122)
  148. at java.util.concurrent.FutureTask.get(FutureTask.java:192)
  149. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
  150. at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)
  151. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  152. at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
  153. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  154. at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)
  155. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  156. at org.apache.catalina.startup.Tomcat.start(Tomcat.java:341)
  157. at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.startContainer(AbstractRunMojo.java:1238)
  158. at org.apache.tomcat.maven.plugin.tomcat7.run.AbstractRunMojo.execute(AbstractRunMojo.java:592)
  159. at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
  160. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
  161. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
  162. at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
  163. at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
  164. at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
  165. at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
  166. at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
  167. at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
  168. at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
  169. at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
  170. at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957)
  171. at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289)
  172. at org.apache.maven.cli.MavenCli.main(MavenCli.java:193)
  173. at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  174. at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  175. at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  176. at java.lang.reflect.Method.invoke(Method.java:498)
  177. at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
  178. at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
  179. at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
  180. at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
  181. at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
  182. Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost]]
  183. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
  184. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
  185. at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
  186. at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  187. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  188. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  189. at java.lang.Thread.run(Thread.java:748)
  190. Caused by: org.apache.catalina.LifecycleException: A child container failed during start
  191. at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)
  192. at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)
  193. at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
  194. ... 6 more

这样的报错信息不光臭长,而且极难理解,所以给大家列出几个常见的这种报错的解决方法:

1、servlet-api包冲突

出现这个问题的原因是导入了servlet-api包,与tomcat7的依赖包servlet-api冲突,可以检查pom.xml是否导入javax.servlet-api

加上

  1. <scope>provided</scope>

之后

  1. <dependencies>
  2. <dependency>
  3. <groupId>javax.servlet</groupId>
  4. <artifactId>javax.servlet-api</artifactId>
  5. <version>3.1.0</version>
  6. <scope>provided</scope>
  7. </dependency>

再次运行,成功启动

2、不排除是版本问题,更换servlet版本试一试(但是我还没有遇到过)

3、冗余的配置或多余的代码

检查pom.xml中多余的配置,将多余的配置注释掉

4、路径重复

这一点也是最常见的错误,像我就是在学习的时候,图方便直接copy代码,导致新文件的

@WebServlet注释里的urlPatterns重复与老文件urlPatterns重复,更换一下路径名即可。

也有可能是你的urlPattens路径中的路径不对,好好检查一下。

标签: tomcat java jvm

本文转载自: https://blog.csdn.net/m0_65836249/article/details/129971753
版权归原作者 RicardoLou 所有, 如有侵权,请联系我们删除。

“大抵是最全的Tomcat启动报A child container failed during start问题解决”的评论:

还没有评论