实现思路是:
将springBoot项目自带的tomcat在部署的时候不使用。
方法一:将springBoot自带tomcat编辑成只在编译和测试时使用。
转载出处:https://www.edurt.com/group/14/thread/82
- 将pom文件中jar改成war,内置tomcat要改成provide
<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>
- 1
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>