Spring Boot應(yīng)用部署于外置Tomcat容器

概 述

SpringBoot平時(shí)我們用的爽歪歪,爽到它自己連Tomcat都自集成了,我們可以直接編寫SBT啟動(dòng)類,然后一鍵開啟內(nèi)置的Tomcat容器服務(wù),確實(shí)是很好上手。但考慮到實(shí)際的情形中,我們的Tomcat服務(wù)器一般是另外部署好了的,有專門的維護(hù)方式。此時(shí)我們需要?jiǎng)冸x掉SBT應(yīng)用內(nèi)置的Tomcat服務(wù)器,進(jìn)而將應(yīng)用發(fā)布并部署到外置的Tomcat容器之中,本文就實(shí)踐一下這個(gè)。


修改打包方式

修改項(xiàng)目的pom.xml配置,我們修改其打包方式為war方式,如:

<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

移除SBT自帶的嵌入式Tomcat

修改pom.xml,從maven的pom中移除springboot自帶的的嵌入式tomcat插件

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!-- 移除嵌入式tomcat插件 -->
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

添加servlet-api依賴

修改pom.xml,在maven的pom中添加servlet-api的依賴

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>

修改啟動(dòng)類,并重寫初始化方法

在SpringBoot中我們平常用main方法啟動(dòng)的方式,都有一個(gè)SpringBootApplication的啟動(dòng)類,類似代碼如下:

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

而我們現(xiàn)在需要類似于web.xml的配置方式來(lái)啟動(dòng)spring應(yīng)用,為此,我們?cè)贏pplication類的同級(jí)添加一個(gè)SpringBootStartApplication類,其代碼如下:

// 修改啟動(dòng)類,繼承 SpringBootServletInitializer 并重寫 configure 方法
public class SpringBootStartApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意這里一定要指向原先用main方法執(zhí)行的Application啟動(dòng)類
        return builder.sources(Application.class);
    }
}

部署到外部的Tomcat容器并驗(yàn)證

  • 在項(xiàng)目根目錄下(即包含pom.xml的目錄)記性maven打包操作:
mvn clean package

等待打包完成,出現(xiàn) [INFO] BUILD SUCCESS 即為打包成功

  • 然后我們把target目錄下生成的war包放到tomcat的webapps目錄下,啟動(dòng)tomcat,即可自動(dòng)解壓部署。

最后在瀏覽器中驗(yàn)證:

http://YOUR_IP:[端口號(hào)]/[打包項(xiàng)目名]
瀏覽器驗(yàn)證
  • 也可以直接將項(xiàng)目命名為ROOT,這樣訪問根目錄即可訪問tomcat中的SpringBoot應(yīng)用
http://YOUR_IP:[端口號(hào)]
直接將項(xiàng)目命令為ROOT
瀏覽器驗(yàn)證

后 記

由于能力有限,若有錯(cuò)誤或者不當(dāng)之處,還請(qǐng)大家批評(píng)指正,一起學(xué)習(xí)交流!


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容