转自:将spring boot 项目打包成 war,在服务器部署
1、将pom.xml中打包的方式修改为war
<packaging>war</packaging>
2、添加 tomcat 依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
3、修改启动类,重写初始化方法
修改方法有两种,任选其一
第一种:启动类继承SpringBootServletInitializer ,并重写configure方法
@SpringBootApplication
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);
}
}
第二种:在启动类Application的同级添加SpringBootStartApplication类
public class SpringBootStartApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 注意这里要指向原先用main方法执行的Application启动类
return builder.sources(Application.class);
}
}
4、打包部署
在项目的命令行输入指令:
mvn clean package -Dmaven.test.skip=true
-Dmaven.test.skip=true参数意思为:不执行测试用例,也不编译测试用例类。出现 BUILD SUCCESS即为打包完成。
最后将该项目 target 目录下的 war 包拷贝到 tomcat 的 webapps 目录下,启动 tomcat,即可自动解压部署。