超级简单,第一步:pom.xml文件中指定打包方式为war:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.lgy</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<!-- packaging制定为war,默认是jar -->
<packaging>war</packaging>
<description>Demo project for Spring Boot</description>
第二步,加上下面的依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
当然最好别忘了在build中指定打包之后的名称:
<build>
<!-- 指定打包の名称为demo -->
<finalName>demo</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
第三步:修改启动类:
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 DemoApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);
}
}
具体有什么不同,大家自己比对吧,这样其实就已经可以了,当然不会影响你测试时候的正常启动,也就是说你还是可以用springboot自带的tomcat启动,只不过是在打包的时候会自动移除。之后mvn clean install打个war包丢tomcat就完事了 (灬°ω°灬)