springboot項目部署tomcat启动错误

正好遇到有2个问题。

1、把项目部署到webapps下,然后启动,tomcat会解压项目,但很快启动完成,没报错,像没加载解压的项目。而把项目打成jar包,用自带的内置tomcat则没问题。

解决方法,在springboot 启动内中没有继承SpringBootServletInitializer,并重写 configure方法。这个抽象类的详细作用可以参考 https://blog.csdn.net/songhaifengshuaige/article/details/54138023


2、将2个项目部署到tomcat,第一个启动正常,后面一个就报错,而只启动其中任意一个项目都不会报错。报错信息如下

严重 [main] org.apache.catalina.startup.HostConfig.deployWAR Error deploying web application archive [D:\Lease\apache-tomcat-9.0.8\webapps\test.war]

 java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/test]]

解决方法: 在2个项目的配置文件application.yml中,各加入spring.jmx.default-domain = 项目名1,spring.jmx.default-domain = 项目名2 , 再次打成war,并都部署到同一个tomcat的webapps下,启动正常!