springboot 带有内置Tomcat 服务器,可以直接将项目打包成jar运行,但是有时候我们需要将项目打包为war文件,放到web服务器中部署运行,下面是将springboot项目部署为war项目的步骤:
1.修改pom.xml中的packaging标签值为war
2.新建一个继承于SpringBootServletInitializer的子类(与Spring Boot的启动类相似),代码如下:
package com.aci; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.support.SpringBootServletInitializer; import org.springframework.cache.annotation.EnableCaching; import org.springframework.scheduling.annotation.EnableScheduling; @SpringBootApplication @EnableScheduling @EnableCaching public class WebApplication extends SpringBootServletInitializer{ public static void main(String[] args) { SpringApplication.run(WebApplication.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(WebApplication.class); } }
3.修改pom.xml文件的properties节点的start-class子节点的值为上面创建的类,代码如下:
<properties> <start-class>com.aci.WebApplication</start-class> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <springboot.version>1.5.9.RELEASE</springboot.version> <poi.version>3.15</poi.version> </properties>