org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:

在tomcat下部署war包时,出现这个错误,网上很多方案都无法解决。

问题描述:

多个项目一直都是部署在同一个Tomcat下,共用80端口,之前使用的MVC或者Servlet项目都没有问题,但是今天把新的Spring Boot项目部署上去之后,Tomcat直接抛出异常,并且该项目无法访问,其他项目正常。

异常:

SEVERE [localhost-startStop-3] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:

 org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/app]]

            at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167)

            at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752)

            at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728)

            at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)

            at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:986)

            at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1857)

            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:1149)

            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

            at java.lang.Thread.run(Thread.java:748)

解决方案:

Spring Boot的spring.jmx资源管理是默认打开的,而两个项目同时使用会冲突,网上有两种解决办法,我用的是第一种,第二种大家自测:

修改配置文件:application.properties(yml)

办法1:

在项目配置中加入:spring.jmx.enabled=false

办法2:

在application中各自配置

spring.jmx.default-domain=project1

spring.jmx.default-domain=project2

以保证domain是两个不一样的

原文地址:https://www.cnblogs.com/tomxin7/p/9434085.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值