首先在pom.xml中排除Tomcat依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
然后在依赖中添加tomcat依赖:
指定打包时不用包含进去
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<!--打包的时候可以不用包进去-->
<scope>provided</scope>
</dependency>
在pom.xml文件中将默认的jar方式改为war
<groupId>com.rems</groupId>
<artifactId>rems</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!--默认为jar方式-->
<!--<packaging>jar</packaging>-->
<!--改为war方式-->
<packaging>war</packaging>
然后在build 标签内添加:< finalName > war包名称 < /finalName > 标签,war包名称可以是你的项目名
是为了防止应用上下文所导致的项目访问资源加载不到的问题,
修改启动类:让启动类继承SpringBootServletInitializer 类,并重写里面的 configure 方法:
@SpringBootApplication
@MapperScan("com.rems.mapper")
@EnableTransactionManagement
@Slf4j
public class RemsMain extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(RemsMain.class, args);
log.info("项目启动成功");
}
/**
* @Description: 工程打成war需要继承SpringBootServletInitializer,重写configure方法
* @Param: [builder]
* @return: org.springframework.boot.builder.SpringApplicationBuilder
* @Author: chenhu
* @Date: 2021/5/12
*/
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(RemsMain.class);
}
}
然后即可使用maven进行install打包,当然打包前先clean一下;