1、首先创建一个springboot工程,然后我们改造启动类如:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;@SpringBootApplication
public class AuroraWarApplication extends SpringBootServletInitializer {@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(AuroraWarApplication.class);}public static void main(String[] args) {SpringApplication.run(AuroraWarApplication.class, args);}}
2、application.yml中不再需要配置上下文端口这些,简单配置个应用名
spring:application:name: aurora-war
3、修改pom文件
首先设置当前包打包为war
<artifactId>aurora-war</artifactId>
<name>aurora-war</name>
<description>Spring Boot to war</description>
<packaging>war</packaging>
其次修改对tomcat依赖的使用
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope>
</dependency>
<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><scope>provided</scope>
</dependency>
<dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-el</artifactId><scope>provided</scope>
</dependency>
最后修改<build>标签内容添加maven-war-plugin
<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><version>3.1.0</version><configuration><failOnMissingWebXml>false</failOnMissingWebXml><warName>aurora-war</warName></configuration></plugin></plugins>
</build>
4、使用idea简单测试下
先编写一个controller
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class IndexController {@GetMapping("/index")public String index(){return "index";}
}
idea中配置好本地tomcat路径和端口信息
配置需要部署的war包和上下文
启动本地tomcat访问controller