Tomcat 9を実行すると、「GRAVE: 子コンテナの起動に失敗しました」というメッセージが表示され続けます

Tomcat 9を実行すると、「GRAVE: 子コンテナの起動に失敗しました」というメッセージが表示され続けます

重大: 子コンテナの起動に失敗しました 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) 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)、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(Bootstrap.java:342) でorg.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473) 原因: org.apache.catalina.LifecycleException: コンポーネント [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Spring_MVC_DinamicWebPages]] の起動に失敗しました。org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)、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) at java.util.concurrent.AbstractExecutorService.submit(Unknown Source) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) ... 21 件以上 原因: java.lang.IllegalArgumentException: [spring_web] という名前のフラグメントが複数見つかりました。これは相対順序では無効です。詳細については、サーブレット仕様のセクション 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.ContextConfig.lifecycleEvent(ContextConfig.java:302)、org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)、org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5044)、 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ... 27 件以上

2020 年 7 月 19 日 午後 10:25:50 org.apache.catalina.core.ContainerBase startInternal GRAVE: 子コンテナーが起動中に失敗しました java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 子コンテナーが起動中に失敗しました at java.util.concurrent.FutureTask.report(Unknown Source) at java.util.concurrent.FutureTask.get(Unknown Source) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421) at 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(Bootstrap.java: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.ContainerBase$StartChild.call(ContainerBase.java:1384) org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) java.util.concurrent.FutureTask.run(Unknown Source) org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.util.concurrent.AbstractExecutorService.submit(Unknown Source) at 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]] の起動に失敗しました at java.util.concurrent.FutureTask.report(Unknown Source) at java.util.concurrent.FutureTask.get(Unknown Source) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916) ... 21 件以上 原因原因: org.apache.catalina.LifecycleException: org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)、org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198)、org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)、org.apache.catalina でコンポーネント [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Spring_MVC_DinamicWebPages]] を開始できませんでした。core.ContainerBase$StartChild.call(ContainerBase.java:1374) at java.util.concurrent.FutureTask.run(Unknown Source) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.util.concurrent.AbstractExecutorService.submit(Unknown Source) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) ... 21 件以上 原因: java.lang.IllegalArgumentException: [spring_web] という名前のフラグメントが複数見つかりました。これは相対順序では無効です。詳細については、サーブレット仕様のセクション 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.ContextConfig.lifecycleEvent(ContextConfig.java:302) org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5044) org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ... 27 件以上

2020 年 7 月 19 日 午後 10 時 25 分 50 秒 org.apache.catalina.startup.Catalina 起動エラー: コンポーネント サーバーが起動を要求しているため、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(Native Method)、sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)、sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)、java.lang.reflect.Method.invoke(Unknown Source)、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.FutureTask.report(Unknown Source)、 java.util.concurrent.FutureTask.get(Unknown Source) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916) ... 13 more 原因: org.apache.catalina.LifecycleException: 子コンテナーが起動中に失敗しました at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:928) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) at java.util.concurrent.FutureTask.run(不明なソース) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.util.concurrent.AbstractExecutorService.submit(不明なソース) at 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]] の起動に失敗しました at java.util.concurrent.FutureTask.report(不明なソース) at java.util.concurrent.FutureTask.get(不明なソース) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916) ... 21 件以上 原因: org.apache.catalina.LifecycleException: org.apache.catalina.util.LifecycleBase でコンポーネント [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/Spring_MVC_DinamicWebPages]] を開始できませんでした。handleSubClassException(LifecycleBase.java:440)、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(Unknown Source)、org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)、java.util.concurrent.AbstractExecutorService.submit(Unknown Source)、org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) ... その他 21 件 原因: java.lang.IllegalArgumentException: [spring_web] という名前のフラグメントが複数見つかりました。これは相対順序では無効です。詳細については、サーブレット仕様のセクション 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.ContextConfig.lifecycleEvent(ContextConfig.java:302) org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5044) org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ... 27 件以上183) ... 27件以上183) ... 27件以上

2020 年 7 月 19 日 午後 10:25:50 org.apache.coyote.AbstractProtocol pause 情報: ProtocolHandler ["http-nio-8080"] を一時停止しています 2020 年 7 月 19 日 午後 10:25:50 org.apache.catalina.core.StandardService stopInternal 情報: サービスを一時停止しています [Catalina] 2020 年 7 月 19 日 午後 10:25:50 org.apache.coyote.AbstractProtocol destroy 情報: 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 ) に、META-INF/web-fragment.xmlの名前を宣言する を含む の JAR が複数ありますspring_web。これは不正であるため、Tomcat はアプリの起動を拒否します。

おそらく、1 つ以上の Spring JAR の複数のバージョンやコピーがあるでしょう。1 つだけあることを確認して、アプリが起動するようにします (または、少なくとも他の理由で失敗する前に先に進みます)。

関連情報