Hybris(Telco + DataHub)6.7.0.16服务器启动失败,包含-发现一个以上名为[spring_web]的片段

2020-09-07 10:33发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)在各种OOTB扩展(例如ciss...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


在各种OOTB扩展(例如cissubscription,cmswebservices ..以及更多)上启动服务器时出现以下错误

  [错误] [org.apache.catalina.core.ContainerBase]子容器在启动期间失败
  java.util.concurrent.ExecutionException:org.apache.catalina.LifecycleException:无法启动组件[StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/cissubscription]]
          在java.util.concurrent.FutureTask.report(未知来源)
          在java.util.concurrent.FutureTask.get(未知来源)
          在org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
          在org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872)
          在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
          在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1423)
          在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1413)
          在java.util.concurrent.FutureTask.run(未知来源)
          在java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源)
          在java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知来源)
          在java.lang.Thread.run(未知来源)
  由以下原因引起:org.apache.catalina.LifecycleException:无法启动组件[StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/cissubscription]]
          在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
          ...省略了6个通用框架
  引起原因:java.lang.IllegalArgumentException:找到了多个名称为[spring_web]的片段。 相对顺序不合法。 有关详细信息,请参见Servlet规范的8.2.2 2c部分。 考虑使用绝对排序。
          在org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2200)
          在org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2159)
          在org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1124)
          在org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:769)
          在org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
          在org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
          在org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5134)
          在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
          ...省略了6个通用框架
  [错误] [org.apache.catalina.core.ContainerBase]子容器在启动期间失败
  java.util.concurrent.ExecutionException:org.apache.catalina.LifecycleException:无法启动组件[StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/backoffice]]
          在java.util.concurrent.FutureTask.report(未知来源)
          在java.util.concurrent.FutureTask.get(未知来源)
          在org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:942)
          在org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:872)
          在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
          在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1423)
          在org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1413)
          在java.util.concurrent.FutureTask.run(未知来源)
          在java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源)
          在java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知来源)
          在java.lang.Thread.run(未知来源)
  原因:org.apache.catalina.LifecycleException:无法启动组件[StandardEngine [Catalina] .StandardHost [localhost] .StandardContext [/backoffice]]
          在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)
          ...省略了6个通用框架
  引起原因:java.lang.IllegalArgumentException:找到了多个名称为[spring_web]的片段。 相对顺序不合法。 有关详细信息,请参见Servlet规范的8.2.2 2c部分。 考虑使用绝对排序。
          在org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2200)
          在org.apache.tomcat.util.descriptor.web.WebXml.orderWebFragments(WebXml.java:2159)
          在org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1124)
          在org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:769)
          在org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
          在org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
          在org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5134)
          在org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
          ...省略了6个通用框架
  
2条回答
天桥码农
2020-09-07 11:16

请检查jar,并搜索这些jar是否与您使用的Java版本兼容。 Spring 3.x与Java 8不兼容。如果要迁移到Java-8,则应使用Spring 4.x版本。

可以通过添加部署描述符的绝对顺序来解决此问题。

Servlet 3.0支持部署描述符的绝对排序和相对排序。 您可以使用web.xml文件中的元素指定绝对顺序。 您可以在web-fragment.xml文件中使用元素指定相对顺序。

例如,假设您的应用程序包含两个Web片段-MyFragment2和MyFragment3,并且还包含一个web.xml文件。 您可以通过在应用程序的web.xml文件中指定以下内容来声明描述符的绝对顺序:

   MyApp 
     <绝对顺序>
         MyFragment3 
         MyFragment2 
     
   
  

在这里,处理顺序如下:

web.xml。 始终首先处理web.xml描述符。

MyFragment3。

MyFragment2。

引用附件-  alt text

一周热门 更多>