java.util.concurrent.ExecutionException----启动tomcat失败

最近在学习maven管理分布式项目,maven如何创建管理分布式项目网上资料很多这边就不说了,主要记录下我启动项目时遇到的一个问题java.util.concurrent.ExecutionException。

分布式项目,子项目需要单独启动。我将他们当作tomcat项目分别启动。首先我配置了一个tomcat7的server来启动service项目(Fragrans-Whites-Sys-Service),ok,service启动成功。然后重新配置了一个server来启动web项目(Fragrans-Whites-Web),问题来了。

严重: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[null].StandardContext[/Fragrans-Whites-Sys-Service]]
        at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
        at java.util.concurrent.FutureTask.get(FutureTask.java:83)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1120)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:819)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1572)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1562)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
        at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[null].StandardContext[/Fragrans-Whites-Sys-Service]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
        ... 7 more
Caused by: java.lang.NullPointerException
        at java.util.Hashtable.put(Hashtable.java:394)
        at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:5185)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5386)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        ... 7 more
2016-9-8 15:44:43 org.apache.catalina.core.ContainerBase startInternal
严重: A child container failed during start
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[null]]
        at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
        at java.util.concurrent.FutureTask.get(FutureTask.java:83)
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1120)
        at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        at org.apache.catalina.core.StandardService.startInternal(StandardService.java:444)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:738)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:693)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:428)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[null]]
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:153)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1572)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1562)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
        at java.lang.Thread.run(Thread.java:662)
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
        at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1128)
        at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:819)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        ... 7 more
2016-9-8 15:44:43 org.apache.catalina.startup.HostConfig deployWAR
信息: Deploying web application archive E:\Program Files\apache-tomcat-7.0.68\webapps\Fragrans-Whites-Web.war
2
网上百度了很多的资料,大部分都是说这个错误的原因是web.xml文件配置有问题引起的,或者是jar包冲突的问题。但是我这边明显不一样。在纠结了很久之后,还是求助了我们技术老大(没错,博主就是这样的一只菜鸟)。

然后发现,虽然创建了两个server但这两个server实际是引用了同一个tomcat,第二个server本身就有问题,与项目代码无关。同一个tomcat同时只能启动一个server,如果要启动多个项目,可以部属多个tomcat来依次启动,或者将多个项目部属在同一个server下(注意项目之间的依赖关系)启动。

因为博主的两个项目一个是service项目一个是web项目,所以还可以先通过main函数来启动service项目,再通过tomcat来启动web项目解决问题。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值