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

(文章結束)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM