SpringBoot应用可以打成jar包或者war包,打成jar跟war概念上有点不同
1. 打成jar包,它体现的是一种服务化的概念
2. 打成war包则是应用程序的概念,可以包含有页面信息,也可以向外提供服务和接口
以下为打成war包的步骤。
第一步:在api层,将pom文件里的打包方式修改为war包。
<packaging>war</packaging>
第二步:排除spring-boot-starter的内置tomcat依赖。在pom文件里右键点击选择maven --》 Show Dependencies --》找到spring-boot-tomcat --》右键选择Exclude。
第三步:添加servlet依赖,需要servlet的工程
<!-- 打包war添加依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
第四步:在application.java的同级目录下,添加war包的启动类:
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
// 打包war增加war的启动类
public class WarStarterApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 指向Application这个springboot启动类
return builder.sources(Application.class);
}
}
第五步:用maven先clean再install 下,然后再target文件夹下找到对应的war包即可。
打包出来的war(找不到用everything找一下)如下: