springboot使用war包

参考博客:http://www.cnblogs.com/qianzf/p/8405479.html

1、在pom文件中添加<packaging>war</packaging>

2、移除springboot的tomcat插件,在pom.xml里找到spring-boot-starter-web依赖节点,在其中添加如下代码,

 1 <dependency>
 2     <groupId>org.springframework.boot</groupId>
 3     <artifactId>spring-boot-starter-web</artifactId>
 4     <!-- 移除嵌入式tomcat插件 -->
 5     <exclusions>
 6         <exclusion>
 7             <groupId>org.springframework.boot</groupId>
 8             <artifactId>spring-boot-starter-tomcat</artifactId>
 9         </exclusion>
10     </exclusions>
11 </dependency>

3、添加servlet-api依赖

 1 #方式1
 2 <dependency>
 3     <groupId>javax.servlet</groupId>
 4     <artifactId>javax.servlet-api</artifactId>
 5     <version>3.1.0</version>
 6     <scope>provided</scope>
 7 </dependency>
 8 #方式2
 9 <dependency>
10     <groupId>org.apache.tomcat</groupId>
11     <artifactId>tomcat-servlet-api</artifactId>
12     <version>8.0.36</version>
13     <scope>provided</scope>
14 </dependency>

4、修改启动类

我们需要类似于web.xml的配置方式来启动spring上下文了,在Application类的同级添加一个SpringBootStartApplication类,其代码如下:

/**
 * 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法
 */
public class SpringBootStartApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意这里要指向原先用main方法执行的Demo1Application启动类
        return builder.sources(Demo1Application.class);
    }
}

5、使用idea工具或者命令生成war包

mvn clean package -Dmaven.test.skip=true

直接把war放到tomcat中即可使用

原文地址:https://www.cnblogs.com/tianphone/p/10830670.html