我運行 Tomcat 9,它一直顯示:GRAVE:子容器在啟動期間失敗

我運行 Tomcat 9,它一直顯示:GRAVE:子容器在啟動期間失敗

GRAVE:子容器在啟動 java.util.concurrent.ExecutionException 期間失敗:org.apache.catalina.LifecycleException:無法在 java.util 處啟動元件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Spring_MVC_DinamicWebs]。 concurrent.FutureTask.report(未知來源)在java.util.concurrent.FutureTask.get(未知來源)在org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)在org.apache.catalina.core .StandardHost.startInternal(StandardHost.java:841) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384java:1384 )在org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) 在java.util.concurrent.FutureTask.run(未知來源) 在org.apache.tomcat.util.threads.InlineExecutorService.execute (InlineExecutorService.java:75) 在java.util.concurrent.AbstractExecutorService.submit(未知來源) 在org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) 在org.apache.catalina.core. .startInternal(StandardEngine.java:262) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在org.apache.catalina.core.StandardService.startInternal(StandardService.java:421) 在org. apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase. java:183)在org.apache.catalina.startup.Catalina.start(Catalina.java:738)在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法)在sun.reflect.NativeMethodAccessorImpl.invoke(未知來源)在sunsun 。 ? .LifecycleBase.handleSubClassException(LifecycleBase.java:440) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198) 在org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:第1384 章在java.util.concurrent.AbstractExecutorService.submit(未知來源) 處執行(InlineExecutorService.java:75) 處org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) ... 21 更多原因:java .lang.IllegalArgumentException:找到多個名為 [spring_web] 的片段。這對於相對順序來說是不合法的。有關詳細信息,請參閱 Servlet 規範的第 8.2.2 2c 節。考慮使用絕對順序。在 org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2260) 在 org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2218) 在 org.apache .catalina.startup.ContextConfig.webConfig(ContextConfig.java:1342) 在org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:983) 在org.apache.catalina.startup.ContextConvig.r. ) :302)在org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5044)在org.apache.catalina.utilache.catalina.util 。

2020 年7 月19 日10:25:50 PM org.apache.catalina.core.ContainerBase startInternal GRAVE:子容器在啟動期間失敗java.util.concurrent.ExecutionException:org.apache.catalina.LifecycleException:子容器在啟動期間失敗在java.util.concurrent.FutureTask.report(未知來源) 在java.util.concurrent.FutureTask.get(未知來源) 在org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916) 在org. apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在org.apache.catalina.core.StandardService.startInternal( StandardService. java:421)在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)在org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)在org.apache.catalina .util .LifecycleBase.start(LifecycleBase.java:183) 在org.apache.catalina.startup.Catalina.start(Catalina.java:738) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) 在sun.reflect. NativeMethodAccessorImpl.invoke(未知來源)在sun.reflect.DelegatingMethodAccessorImpl.invoke(未知來源)在java.lang.reflect.Method.invoke(未知來源)在org.apache.catalina.startup.Bootstrap.start: 342)在org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473) 原因:org.apache.catalina.LifecycleException:子容器在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase. java: 928) 在org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在org.apache.catalina.core .ContainerBaseBase $StartChild.call(ContainerBase.java:1384) 在org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) 在java.util.concurrent.FutureTask.run(未知來源) 在org .apache .tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) 在java.util.concurrent.AbstractExecutorService.submit(未知來源) 在org.apache.catalina.core.ContainerBase.startInternal(ContainerBase): 9909. …… 13 更多原因:java.util.concurrent.ExecutionException:org.apache.catalina.LifecycleException:無法在java 處啟動元件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Spring_MVC_DinamicWebPages]]。 concurrent.FutureTask.report(未知來源) at java.util.concurrent.FutureTask.get(未知來源) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916) ... 21 更多造成作者:org.apache.catalina.LifecycleException:無法啟動元件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Spring_MVC_DinamicWebPages]] 在org.apache.catalina.util.LifecycleBase.handleSBClassClassException(Lifec.org. .apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198) 在org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384) 在org.apache.catalina。core.ContainerBase$StartChild.call(ContainerBase.java:1374) 在 java.util.concurrent.FutureTask.run(未知來源) 在 org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) 在java.util.concurrent.AbstractExecutorService.submit(未知來源) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) ... 21 更多引起原因:java.lang.IllegalArgumentException:多個片段找到了名為[spring_web] 的。這對於相對順序來說是不合法的。有關詳細信息,請參閱 Servlet 規範的第 8.2.2 2c 節。考慮使用絕對順序。在 org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2260) 在 org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2218) 在 org.apache .catalina.startup.ContextConfig.webConfig(ContextConfig.java:1342) 在org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:983) 在org.apache.catalina.startup.ContextConvig.r. ) :302)在org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5044)在org.apache.catalina.utilache.catalina.util 。

2020 年 7 月 19 日 10:25:50 PM org.apache.catalina.startup.Catalina start GRAVE: Tomcat 沒有啟動元件伺服器請求啟動。 org.apache.catalina.LifecycleException:在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:928) 處啟動期間,子容器在 org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java: 262) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在org.apache.catalina.core.StandardService.startInternal(StandardService.java:421) 在org.apache.catalina.util.LifecycleBase .start(LifecycleBase.java:183) 位於org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930) 位於org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 位於org. apache.catalina.startup.Catalina.start(Catalina.java:738) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法) 在sun.reflect.NativeMethodAccessorImpl.invoke(未知來源) 在sun.reflect.Delegating.NativeMethodAccessorImpl.invoke(未知來源) 在sun.reflect.DelegatingatingMethodMethodMethod未知)來源)在java.lang.reflect.Method.invoke(未知來源)在org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:342)在org.apache.catalina.startup.Bootstrap.main( Bootstrap. java:473) 原因為:java.util.concurrent.ExecutionException:org.apache.catalina.LifecycleException:子容器在java.util.concurrent 的java.util.concurrent.FutureTask.report(未知來源)啟動期間失敗。 .apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:928) 在org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841) 在org.apache.catalina.util.LifecycleBase.start(LifecycleBase ) .java:183) 在org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384) 在org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) 在java . util.concurrent.FutureTask.run(未知來源)在org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)在java.util.concurrent.AbstractExecutorService.submit(未知來源)在org. apache .catalina.core.ContainerBase.startInternal(ContainerBase.java:909) ... 13 更多 原因:java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 無法啟動元件 [StandardEngine[Catalina].StandardHost [localhost].StandardContext[/Spring_MVC_DinamicWebPages]] 在java.util.concurrent.FutureTask.report(未知來源) 在java.util.concurrent.FutureTask.get(未知來源) 在org.apache.catalina.core.ContainerBase.startInternal (ContainerBase.java:916) ... 21 更多原因:org.apache.catalina.LifecycleException: 無法在org.apache.catalina 啟動元件[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Spring_MVC_DinamicWebPages]] . util.LifecycleBase。在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)在org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)處handleSubClassException(LifecycleBase.java:440) . apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) 在java.util.concurrent.FutureTask.run(未知來源) 在org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService. il.threads.InlineExecutorService.execute(InlineExecutorService. :75) 在java.util.concurrent.AbstractExecutorService.submit(未知來源) 在org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) ... 21 更多引起:java.lang.IllegalArgumentException :發現了多個名為[spring_web] 的片段。這對於相對順序來說是不合法的。有關詳細信息,請參閱 Servlet 規範的第 8.2.2 2c 節。考慮使用絕對順序。在 org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2260) 在 org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2218) 在 org.apache .catalina.startup.ContextConfig.webConfig(ContextConfig.java:1342) 在org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:983) 在org.apache.catalina.startup.ContextConvig.r. ) :302)在org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5044)在org.apache.catalina.utilache.catalina.util 。183) ... 27 更多183) ... 27 更多

七月19, 2020 10:25:50 PM org.apache.coyote.AbstractProtocol 暫停訊息:暫停ProtocolHandler ["http-nio-8080"] 七月19, 2020 10:25:50 PM org.apache.catalina. .StandardService stopInternal 訊息:Parando servicio [Catalina] 2020 年 7 月 19 日 10:25:50 PM org.apache.coyote.AbstractProtocol 銷毀訊息:銷毀 ProtocolHandler ["http-nio-8080"]

這是我得到的致命錯誤。我已經嘗試並重新安裝了 eclipse 和 Tomcat,但它不起作用。

答案1

答案就在堆疊追蹤中:

More than one fragment with the name [spring_web] was found. This is not legal with relative ordering. See section 8.2.2 2c of the Servlet specification for details. Consider using absolute ordering.

您在 WEB-INF/lib 中(以及 $可能在 $CATALINA_BASE/lib 中,取決於配置)中有多個 JAR,其中包含聲明META-INF/web-fragment.xml名稱spring_web.這是不合法的,因此 Tomcat 拒絕啟動該應用程式。

您很可能擁有一個或多個 Spring JAR 的多個版本和/或副本。確保您只有一個並且應用程式將啟動(或至少在因其他原因失敗之前進一步啟動)。

相關內容