实现思路是:
将springBoot项目自带的tomcat在部署的时候不使用。
方法一:将springBoot自带tomcat编辑成只在编译和测试时使用。
转载出处:https://www.edurt.com/group/14/thread/82
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
@SpringBootApplication
@Configuration
@EnableConfigurationProperties
public class BaseApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(BaseApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(BaseApplication.class, args);
}
}
方法二:将springBoot内置tomcat移除,添加使用外部tomcat的依赖。
一部分转载出处:https://blog.csdn.net/ke7in1314/article/details/79150713
1.重写springbootApp初始化方法
@SpringBootApplication
public class KafkaApplication extends SpringBootServletInitializer {
//继承初始化类,并重写该方法
public static void main(String[] args) {
SpringApplication.run(KafkaApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(KafkaApplication.class);
}
}
2.修改pom.xml打包方式为war
<packaging>war</packaging>
3.增加pom.xml依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
4.此方法应该添加此项(我没测试)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 移除嵌入式tomcat插件 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
原文:https://www.cnblogs.com/ConfidentLiu/p/9462751.html