- 指定项目打包方式为war
<packaging>war</packaging>
- springboot中打成war的配置
- 排除项目内嵌服务器tomcat
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
注:将应用范围修改为provided即可,不用删除依赖
- 在springboot的启动插件中指定入口类
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<!-- spring-boot:run 中文乱码解决 -->
<jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
<!--指定入口类-->
**<mainClass>com.baizhi.Application</mainClass>**
</configuration>
</plugin>
- 修改启动入口类
@SpringBootApplication
@MapperScan("com.baizhi.dao")
public class Application extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
return builder.sources(Application.class);
}
}
注意:
1. war包部署springboot中配置文件里指定服务器端口失效
2. war包部署springboot中配置文件指定的应用名失效