(步骤总结:继承类、修改三处依赖)
打包为war
相对于打包出jar,打包为war会复杂点:Maven的pom.xml里设置:
然后,在spring-boot-starter-web依赖节点中移除tomcat相关外部包:
<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>
再依赖包内添加Servlet的包:
<!-- 打包成war包,添加Servlet依赖-->
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>5.0.0</version>
</dependency>
至此,打包为war文件的一些准备工作完成,但是还有一步很重要:
Spring项目需要再设置一下主启动类即:让你的主启动类继承:SpringBootServletInitializer ;然后重写一个方法:
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
return builder.sources(传入你的主启动类.class);
}
最终的主启动类长这样:
@ServletComponentScan
@SpringBootApplication
public class 主启动类 extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
return builder.sources(主启动类.class);
}
public static void main(String[] args) {
SpringApplication.run(主启动类.class, args);
}
}
如果Spring项目是基于Maven骨架的,只需要打包IDEA自带的Maven工具进行打包操作:
(也有其他的打包方式)