0%

使用外置tomcat进行运行

使用外置tomcat进行运行

springboot中是集成了tomcat容器的,那么如果我们不想使用springboot所集成的tomcat,而想要使用自己的Tomcat外部容器,该怎么做呢

首先,需要更改打包方式,之前是打成jar包,现在需要打成war包

然后,将依赖中的tomcat去除掉

1
2
3
4
5
6
7
8
9
10
11
<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>

最后,修改启动类,继承SpringBootServletInitializer,重写configure方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@SpringBootApplication
public class ProviderApp extends SpringBootServletInitializer{

public static void main(String[] args) {
SpringApplication.run(ProviderApp.class,args);
}

// SpringBootServletInitializer是原有的web.xml文件的替代
// 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 指向原先用main方法执行的Application启动类
return builder.sources(ProviderApp.class);
}
}

将生成的war包放到tomcat中就可以进行运行了