1、更改打包方式
在子工程foodie-dev-api的pom更改打包方式
2、去除内置tomcat
3、添加servlet依赖
由于移除了内置tomcat,所以自带的servlet依赖也没有了
需要手动添加
在主工程的pom中添加依赖
<!--打包war【3】 添加依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
预览:
聚合工程pom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
...省略
<packaging>pom</packaging>
...省略
<dependencies>
...省略依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--打包war【2】 移除内置tomcat-->
<exclusions>
<exclusion>
<artifactId>spring-boot-starter-tomcat</artifactId>
<groupId>org.springframework.boot</groupId>
</exclusion>
</exclusions>
</dependency>
...省略依赖
<!--打包war【3】 添加依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
</dependencies>
</project>
api子工程pom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>foodie-dev</artifactId>
<groupId>com.shiers</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>foodie-dev-api</artifactId>
<!--<packaging>jar</packaging>-->
<!-- 打包war [1] -->
<packaging>war</packaging>
</project>
4、增加war的启动类
在启动类同级目录下创建WarStarterApplication
package com.shiers;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
/**
* Demo class
*
* @author shierS
* @date 2021/6/10
*/
// 打包war【4】 增加war的启动类
public class WarStarterApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
//指向Application这个sringboot启动类
return builder.sources(Application.class);
}
}
5、打包
使用clear后install,在项目路径target下出现war包
将文件重命名后上传至服务器 /usr/local/tomcat-api/webapps
等待一会后,会自动解压成文件夹,我们刷新可以发现文件夹已经出现
浏览器访问
成功!