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