SpringBoot是默认将项目打包成jar包,但是好多同学还是不习惯使用jar包来启动web项目,不少人还是习惯使用Tomcat+war的方式来发布自己的工程,本文就介绍一下如何将SpringBoot项目打包成war包
首先我们新建一个SpringBoot项目,具体如何创建不做过多解释,大家可以看我之前的文章。项目建好后默认是打包成jar,一下是具体修改的步骤:
-
修改pom文件,将
<packaging>jar</packaging>
改为<packaging>war</packaging>
-
修改pom文件,需要将SpringBoot中默认配置的tomcat去除
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
-
修改启动类,如下
@SpringBootApplication public class SpringbootWarApplication extends SpringBootServletInitializer{ protected SpringApplicationBuilder configure(SpringApplicationBuilder application){ return application.sources(SpringbootWarApplication.class); } public static void main(String[] args) { SpringApplication.run(SpringbootWarApplication.class, args); } }
继承SpringBootServletInitializer类,重写configure方法
-
这样整个修改就完成了,我们写一个测试类测试一下
@RestController @RequestMapping("/test") public class TestController { @RequestMapping("/test") public String test(){ return "success"; } }
-
部署项目,和一般web项目部署方式一样
-
测试
ok修改完成
Tips: 一般情况下线上配置和本地配置是不一样的,SpringBoot如何在本地使用测试配置呢?只需要修改 VM options配置即可