將SpringBoot項(xiàng)目無(wú)縫部署到Tomcat服務(wù)器的操作流程
序言
SpringBoot 是一個(gè)用來(lái)簡(jiǎn)化 Spring 應(yīng)用初始搭建以及開(kāi)發(fā)過(guò)程的框架,我們可以通過(guò)內(nèi)置的 Tomcat 容器來(lái)輕松地運(yùn)行我們的應(yīng)用。但在生產(chǎn)環(huán)境中,我們可能需要將應(yīng)用部署到獨(dú)立的 Tomcat 服務(wù)器上。本文給大家介紹 SpringBoot 項(xiàng)目部署到獨(dú)立 Tomcat 服務(wù)器的操作流程。
一、修改打包方式
首先,需要將 Spring Boot 的打包方式從 jar
修改為 war
。打開(kāi) pom.xml 文件,找到 標(biāo)簽,將其內(nèi)容改為 war。
<packaging>war</packaging>
二、排除 tomcat 依賴
排除 tomcat 依賴的方式有許多,我們可以采用以下簡(jiǎn)單的方式:直接變更 tomcat 的依賴范圍為 provided
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
三、配置 SpringBoot 啟動(dòng)類
// SpringBoot 的啟動(dòng)類 @SpringBootApplication public class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } } // 自定義 ServletInitializer public class ServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { return builder.sources(App.class); } }
- Servlet 容器加載機(jī)制:在 Java Web 開(kāi)發(fā)中,Servlet 容器負(fù)責(zé)加載和管理 Servlet。Servlet 容器會(huì)在啟動(dòng)時(shí)讀取
web.xml
文件(或者使用 Servlet 3.0 注解)來(lái)獲取應(yīng)用程序的配置信息,并加載相應(yīng)的 Servlet。對(duì)于 SpringBoot 應(yīng)用程序來(lái)說(shuō),它也是一個(gè) Servlet,需要被加載到 Servlet 容器中才能運(yùn)行。 - SpringBoot 啟動(dòng)類:SpringBoot 應(yīng)用程序通常有一個(gè)主類,其中包含 main 方法。這個(gè)主類使用 SpringBoot 的
@SpringBootApplication
注解標(biāo)記,它告訴 SpringBoot 應(yīng)用程序的入口點(diǎn)。在內(nèi)嵌 Tomcat 的情況下, SpringBoot 會(huì)自動(dòng)檢測(cè)并啟動(dòng)應(yīng)用程序,而在外部 Tomcat 中,我們需要告訴 Tomcat 如何加載 SpringBoot 應(yīng)用程序。 - SpringBootServletInitializer 作用:SpringBootServletInitializer 是 SpringBoot 提供的一個(gè)抽象類,用于支持將 SpringBoot 應(yīng)用程序部署到外部 Servlet 容器中。通過(guò)繼承 SpringBootServletInitializer 類并重寫(xiě)其 configure 方法,我們可以告訴外部 Servlet 容器如何初始化 SpringBoot 應(yīng)用程序,并指定 SpringBoot 應(yīng)用程序的主類。
- configure 方法重寫(xiě):在 configure 方法中,我們需要調(diào)用 SpringApplicationBuilder 的 sources 方法并傳遞 SpringBoot 應(yīng)用程序的主類,以告訴外部 Servlet 容器從哪里加載 SpringBoot 應(yīng)用程序。SpringBoot 會(huì)在部署到外部 Servlet 容器時(shí)自動(dòng)檢測(cè)到這個(gè) configure 方法,并使用它來(lái)初始化應(yīng)用程序。
四、構(gòu)建 war 包
執(zhí)行 mvn clean package
命令完成打包
mvn clean package
五、部署到 Tomcat
以上就是將SpringBoot項(xiàng)目無(wú)縫部署到Tomcat服務(wù)器的操作流程的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot部署到Tomcat的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- 云服務(wù)器Jenkins部署Springboot項(xiàng)目及Vue項(xiàng)目的詳細(xì)過(guò)程
- IDEA如何一鍵部署SpringBoot項(xiàng)目到服務(wù)器
- SpringBoot項(xiàng)目部署到服務(wù)器的兩種方式
- Docker部署SpringBoot項(xiàng)目,本地運(yùn)行正常,部署至服務(wù)器報(bào)錯(cuò)zip file closed問(wèn)題
- springboot項(xiàng)目如何部署到服務(wù)器
- Docker部署SpringBoot項(xiàng)目到云服務(wù)器的實(shí)現(xiàn)步驟
- Springboot項(xiàng)目的服務(wù)器部署與發(fā)布方式
相關(guān)文章
Vue結(jié)合Springboot實(shí)現(xiàn)用戶列表單頁(yè)面(前后端分離)
本文主要介紹了Vue結(jié)合Springboot實(shí)現(xiàn)用戶列表單頁(yè)面,可以實(shí)現(xiàn)簡(jiǎn)單的查詢,刪除,修改,和添加用戶信息功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-07-07Spring Boot配置接口WebMvcConfigurer的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot配置接口WebMvcConfigurer的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11JavaGUI實(shí)現(xiàn)隨機(jī)單詞答題游戲
這篇文章主要為大家詳細(xì)介紹了JavaGUI實(shí)現(xiàn)隨機(jī)單詞答題游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-12-12MybatisPlus更新為null的字段及自定義sql注入
mybatis-plus在執(zhí)行更新操作,當(dāng)更新字段為空字符串或者null的則不會(huì)執(zhí)行更新,本文主要介紹了MybatisPlus更新為null的字段及自定義sql注入,感興趣的可以了解一下2024-05-05Spring Boot Event Bus用法小結(jié)
Spring Boot Event Bus是Spring框架中事件驅(qū)動(dòng)編程的一部分,本文主要介紹了Spring Boot Event Bus用法小結(jié),感興趣的可以了解一下2023-09-09