摘要:但考慮到實際的情形中,我們的服務(wù)器一般是另外部署好了的,有專門的維護方式。此時我們需要剝離掉應(yīng)用內(nèi)置的服務(wù)器,進而將應(yīng)用發(fā)布并部署到外置的容器之中,本文就實踐一下這個。
0x01. 概述
SpringBoot平時我們用的爽歪歪,爽到它自己連Tomcat都自集成了,我們可以直接編寫SBT啟動類,然后一鍵開啟內(nèi)置的Tomcat容器服務(wù),確實是很好上手。但考慮到實際的情形中,我們的Tomcat服務(wù)器一般是另外部署好了的,有專門的維護方式。此時我們需要剝離掉SBT應(yīng)用內(nèi)置的Tomcat服務(wù)器,進而將應(yīng)用發(fā)布并部署到外置的Tomcat容器之中,本文就實踐一下這個。
注: 本文首發(fā)于 My 公眾號 CodeSheep ,可 長按 或 掃描 下面的 小心心 來訂閱 ↓ ↓ ↓0x02. 修改打包方式
修改項目的pom.xml配置,我們修改其打包方式為war方式,如:
0x03. 移除SBT自帶的嵌入式Tomcatcom.example demo 0.0.1-SNAPSHOT war
修改pom.xml,從maven的pom中移除springboot自帶的的嵌入式tomcat插件
0x04. 添加servlet-api依賴org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat
修改pom.xml,在maven的pom中添加servlet-api的依賴
0x05. 修改啟動類,并重寫初始化方法javax.servlet javax.servlet-api 3.1.0 provided
在SpringBoot中我們平常用main方法啟動的方式,都有一個SpringBootApplication的啟動類,類似代碼如下:
@SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
而我們現(xiàn)在需要類似于web.xml的配置方式來啟動spring應(yīng)用,為此,我們在Application類的同級添加一個SpringBootStartApplication類,其代碼如下:
// 修改啟動類,繼承 SpringBootServletInitializer 并重寫 configure 方法 public class SpringBootStartApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { // 注意這里一定要指向原先用main方法執(zhí)行的Application啟動類 return builder.sources(Application.class); } }0x06. 部署到外部的Tomcat容器并驗證
在項目根目錄下(即包含pom.xml的目錄)記性maven打包操作:
mvn clean package
等待打包完成,出現(xiàn) [INFO] BUILD SUCCESS 即為打包成功
然后我們把target目錄下生成的war包放到tomcat的webapps目錄下,啟動tomcat,即可自動解壓部署。
最后在瀏覽器中驗證:
http://YOUR_IP:[端口號]/[打包項目名]
也可以直接將項目命名為ROOT,這樣訪問根目錄即可訪問tomcat中的SpringBoot應(yīng)用
http://YOUR_IP:[端口號]后記
作者更多的原創(chuàng)文章在此,歡迎觀賞
My Personal Blog
作者更多的SpringBt實踐文章在此:
Spring Boot應(yīng)用監(jiān)控實戰(zhàn)
SpringBoot應(yīng)用部署于外置Tomcat容器
ElasticSearch搜索引擎在SpringBt中的實踐
初探Kotlin+SpringBoot聯(lián)合編程
Spring Boot日志框架實踐
SpringBoot優(yōu)雅編碼之:Lombok加持
如果有興趣,也可以抽點時間看看作者一些關(guān)于容器化、微服務(wù)化方面的文章:
利用K8S技術(shù)棧打造個人私有云 連載文章
從一份配置清單詳解Nginx服務(wù)器配置
Docker容器可視化監(jiān)控中心搭建
利用ELK搭建Docker容器化應(yīng)用日志中心
RPC框架實踐之:Apache Thrift
RPC框架實踐之:Google gRPC
微服務(wù)調(diào)用鏈追蹤中心搭建
Docker容器跨主機通信
Docker Swarm集群初探
高效編寫Dockerfile的幾條準(zhǔn)則
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/69656.html
摘要:概述進行的開發(fā)過程中,我們很多時候經(jīng)常需要重啟服務(wù)器才能保證修改的源代碼文件或者一些諸如的配置文件以及一些靜態(tài)文件生效,這樣耗時又低效。 showImg(https://segmentfault.com/img/remote/1460000015363888); 概述 進行SpringBoot的Web開發(fā)過程中,我們很多時候經(jīng)常需要重啟Web服務(wù)器才能保證修改的 源代碼文件、或者一些...
摘要:啟動方式部署到外置,啟動完成后,打開項目地址。這里需要注意的是,使用外置部署的時候,需要將嵌入式容器調(diào)整為級別。 個人感覺這篇文檔寫的沒有什么意義,但是終究有的時候需要面對一些新手,他們還是比較JSP的,所以胖先森還是將這篇文檔整理一下SpringBoot默認不支持JSP,因為jsp相對于一些模板引擎,性能都比較低,官方推薦使用thymeleaf,如果想在項目中使用,需要進行相關(guān)初始化...
閱讀 823·2023-04-25 20:18
閱讀 2111·2021-11-22 13:54
閱讀 2551·2021-09-26 09:55
閱讀 3917·2021-09-22 15:28
閱讀 2990·2021-09-03 10:34
閱讀 1726·2021-07-28 00:15
閱讀 1651·2019-08-30 14:25
閱讀 1292·2019-08-29 17:16