SpringBoot打war包并部署到外部tomcat运行(jar工程改造为正war工程)

SpringBoot打war包并部署到外部tomcat运行(jar工程改造为正war工程)

如果你的SpringBoot工程是一个jar工程,而想把它改造成war工程,并打成war包放到外部的tomcat下运行,该怎么修改配置呢?这里以Maven工程为例进行介绍。

(1)将pom.xml中的打包方式由jar改成war

 

(2)在pom.xml中添加spring-boot-starter-tomcat依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>

(3)创建一个java类ServletInitializer,继承SpringBootServletInitializer,重写其configure方法,并通过builder.sources(MavenApplication.class)将SpringBoot工程的启动类(比如我的启动类名为MavenApplication)传进去:

复制代码
package com.xuebusi.springboot.maven;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;

/**
 * Created by SYJ on 2017/12/20.
 */
public class ServletInitializer extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(MavenApplication.class);
    }
}
复制代码

 

(4)使用maven插件打war包,如下图所示,双击package(或install)命令即可打包:

 

除了上面的打包方式之外,还可以在IntelliJ IDEA的命令行窗口使用maven命令来打包,比如使用"mvn install"或者"mvn package"命令来打包:

打包成功:

 

打好的war包位于项目的target目录下:

 

(5)将war包拷贝到外部tomcat的webapps目录下,并改名为ROOT.war:

启动tomcat,即可看到控制台SpringBoot启动成功:

 

 项目源码:https://github.com/xuebus/xbs-springboot-maven-war

(文章结束)

猜你喜欢

转载自blog.csdn.net/qq_34128650/article/details/80580123