Java spring boot在1.3.0.M5版本的tomcat中作为war运行时出现奇怪的错误

Java spring boot在1.3.0.M5版本的tomcat中作为war运行时出现奇怪的错误,java,spring,tomcat,spring-boot,Java,Spring,Tomcat,Spring Boot,嗨,当我在tomcat中以root身份运行spring boot 1.3.0.M5作为war时,我遇到了以下错误。。作为一个jar,一切看起来都很好,并按预期运行 org.apache.catalina.LifecycleException: A child container failed during start at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:925)

嗨,当我在tomcat中以root身份运行spring boot 1.3.0.M5作为war时,我遇到了以下错误。。作为一个jar,一切看起来都很好,并按预期运行

    org.apache.catalina.LifecycleException: A child container failed during start
       at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:925) [catalina.jar:8.0.15]
       at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) ~[catalina.jar:8.0.15]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:8.0.15]
       ... 33 common frames omitted
rapped by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat]]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) [catalina.jar:8.0.15]
       at org.apache.catalina.core.StandardService.startInternal(StandardService.java:439) ~[catalina.jar:8.0.15]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:8.0.15]
       ... 31 common frames omitted
rapped by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Tomcat]]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) [catalina.jar:8.0.15]
       at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:760) ~[catalina.jar:8.0.15]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:8.0.15]
       ... 29 common frames omitted
rapped by: org.apache.catalina.LifecycleException: Failed to start component [StandardServer[-1]]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154) [catalina.jar:8.0.15]
       at org.apache.catalina.startup.Tomcat.start(Tomcat.java:339) ~[catalina.jar:8.0.15]
       at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:88) ~[spring-boot-1.3.0.M5.jar:1.3.0.M5]
       ... 27 common frames omitted
rapped by: org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
       at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:98) ~[spring-boot-1.3.0.M5.jar:1.3.0.M5]
       at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:75) ~[spring-boot-1.3.0.M5.jar:1.3.0.M5]
       at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getTomcatEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:436) ~[spring-boot-1.3.0.
5.jar:1.3.0.M5]
       at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:164) ~[spring-boot-1.3.0.M5.jar
1.3.0.M5]
       at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:158) ~[spring-boot-1.3.0.M5.jar:1.3.0.M5]
       at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:130) ~[spring-boot-1.3.0.M5.jar:1.3.0.M5]
       ... 22 common frames omitted
rapped by: org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException
 Unable to start embedded Tomcat
       at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:133) ~[spring-boot-1.3.0.M5.jar:1.3.0.M5]
       at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:531) ~[spring-context-4.2.1.RELEASE.jar:4.2.1.RELEASE]
       at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118) ~[spring-boot-1.3.0.M5.jar:1.3.0.M5]
       at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:667) ~[spring-boot-1.3.0.M5.jar:1.3.0.M5]
       at org.springframework.boot.SpringApplication.doRun(SpringApplication.java:342) ~[spring-boot-1.3.0.M5.jar:1.3.0.M5]
       at org.springframework.boot.SpringApplication.run(SpringApplication.java:273) ~[spring-boot-1.3.0.M5.jar:1.3.0.M5]
       at org.springframework.boot.context.web.SpringBootServletInitializer.run(SpringBootServletInitializer.java:130) [spring-boot-1.3.0.M5.jar:1.3.0.M5]
       at com.wellmanage.whf.service.HfServices.run(HfServices.java:129) [HfServices.class:na]
       at org.springframework.boot.context.web.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:110) [spring-boot-1.3.0.M5.jar:1.3.0.M5]
       at org.springframework.boot.context.web.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:69) [spring-boot-1.3.0.M5.jar:1.3.0.M5]
       at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:175) [spring-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
       at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5185) [catalina.jar:8.0.15]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:8.0.15]
       at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725) [catalina.jar:8.0.15]
       at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701) [catalina.jar:8.0.15]
       at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714) [catalina.jar:8.0.15]
       at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:581) [catalina.jar:8.0.15]
       at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1683) [catalina.jar:8.0.15]
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_45]
       at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_45]
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_45]
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_45]
       at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
1-Sep-2015 17:25:57.271 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
       at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
       at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
       at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714)
       at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:581)
       at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1683)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
       at java.lang.Thread.run(Thread.java:745)
aused by: org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.boot.context.embedded.EmbeddedServletContainerException:
Unable to start embedded Tomcat
       at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:133)
       at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:531)
       at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:118)
       at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:667)
       at org.springframework.boot.SpringApplication.doRun(SpringApplication.java:342)
       at org.springframework.boot.SpringApplication.run(SpringApplication.java:273)
       at org.springframework.boot.context.web.SpringBootServletInitializer.run(SpringBootServletInitializer.java:130)
       at com.wellmanage.whf.service.HfServices.run(HfServices.java:129)
       at org.springframework.boot.context.web.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:110)
       at org.springframework.boot.context.web.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:69)
       at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:175)
       at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5185)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       ... 10 more
aused by: org.springframework.boot.context.embedded.EmbeddedServletContainerException: Unable to start embedded Tomcat
       at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:98)
       at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.<init>(TomcatEmbeddedServletContainer.java:75)
       at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getTomcatEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:436)
       at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.getEmbeddedServletContainer(TomcatEmbeddedServletContainerFactory.java:164)
       at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.createEmbeddedServletContainer(EmbeddedWebApplicationContext.java:158)
       at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.onRefresh(EmbeddedWebApplicationContext.java:130)
       ... 22 more
aused by: org.apache.catalina.LifecycleException: Failed to start component [StandardServer[-1]]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
       at org.apache.catalina.startup.Tomcat.start(Tomcat.java:339)
       at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer.initialize(TomcatEmbeddedServletContainer.java:88)
       ... 27 more
aused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Tomcat]]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
       at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:760)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       ... 29 more
aused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat]]
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
       at org.apache.catalina.core.StandardService.startInternal(StandardService.java:439)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       ... 31 more
aused by: org.apache.catalina.LifecycleException: A child container failed during start
       at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:925)
       at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
       at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
       ... 33 more

1-Sep-2015 17:25:57.692 SEVERE [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDescriptor Error deploying configuration descriptor C:\ebcidic\apache-tomcat-8.0.15\conf\Catalina\l
calhost\ROOT.xml
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[]]
       at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:728)
       at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
       at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714)
       at 
似乎是super.run(应用程序)导致了这个问题,因为我错误地将应用程序传递到了那里,这是不正确的,更改为后一切正常

      @Override
   protected WebApplicationContext run(SpringApplication app)
   {
      LOG.info("Starting up from war ....");
      // war to be used in test and above environments is going to executed this code
      app.setResourceLoader(new CloudResourceLoader());
      return (WebApplicationContext) app.run();
   }

感谢Andy的投入和建议

还有比这更多的产出吗?这些堆栈跟踪没有太多特定的信息。请检查ROOT.xml。从日志来看,该文件似乎有问题。它与我之前测试时使用的ROOT.xml相同;放置root.xml
您没有提供足够的信息来诊断问题。例如,
HfServices
做什么?看起来您已经覆盖了
run
。为什么?我建议阅读并相应地更新问题。是的,安迪的问题就在这里。“同意”将在将来发布问题时更加详尽。
      @Override
   protected WebApplicationContext run(SpringApplication app)
   {
      LOG.info("Starting up from war ....");
      // war to be used in test and above environments is going to executed this code
      app.setResourceLoader(new CloudResourceLoader());
      return (WebApplicationContext) app.run();
   }