1 SpringBoot打war包的4个步骤
- 设置打包方式,默认是jar方式。
<!--war包[1] 默认是jar包形式-->
<packaging>war</packaging>
- 移除内置tomcat依赖。因为war包是要发布到外部servlet容器中的,不再需要springboot web模块的内置Tomcat。
<!--引入springboot web模块-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--打war包需要移除springboot web模块中的内置tomcat依赖-->
<exclusions>
<exclusion>
<groupId>spring-boot-starter-tomcat</groupId>
<artifactId>org.springframework.boot</artifactId>
</exclusion>
</exclusions>
</dependency>
- 设置servlet依赖
<!--打war包需要添加外部servlet依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
- 设置war包应用启动类
//java 项目 www.fhadmin.org
public class WarStarterApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 指向SpringBoot启动类--Application类
return builder.sources(Application.class);
}
}
此时,我们可以在设置war打包方式的项目模块的target目录下找到生成的jar包。
2 发布war包
将war包放到Tomcat/webapps目录下,运行中的Tomcat会自动将war包解压成一个项目,此时便可以请求和访问了。
注意项目名称就是项目文件夹的名称。
http://192.168.233.130:8088/foodie-api-1.0-SNAPSHOT/hello
协议://ip地址:端口号/webapps中项目目录名/路由