现在springboot自带tomcat所以很少人都不用外置tomcat了
由于tomcat发包升级只需要替换改动的文件就可以 比较方便所以打算用外置tomcat来启动项目
给大家分享一下
第一步要把我们的打包方式改为war包 在我们的pom文件中添加
<packaging>war</packaging>
其次要假如tomcat的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
最后我们把内置的tomcat给去除
然后加上一下构建工具
<build>
<plugins>
<!-- 把原来的 spring-boot-maven-plugin 注释掉/删掉-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
</plugin>
</plugins>
<finalName>qytb</finalName>
</build>
最后 修改SpringBoot的启动类
修改启动类,使其继承SpringBootServletInitializer类,重写configure方法。
如果SpringBoot帮我们建立了SpringBootServletInitializer类文件,直接删掉,修改最开始的SpringBootApplication 项目启动类,就是有main方法的那个。
@SpringBootApplication
@ServletComponentScan
@ComponentScan(basePackages = {"com.example.controller", "com.example.service"})
@MapperScan(basePackages = {"com.example.dao"})
public class SpringbootdemoApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(SpringbootdemoApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(SpringbootdemoApplication.class, args);
}
}
这样就可以用tomcat启动了
需要给tomcat配置