從SpringBoot打war包并配置外部Tomcat運(yùn)行的全流程
環(huán)境
SpringBoot 2.6.15
Tomcat 8.5.100
JDK 1.8.0_281
Windows
正文
一、SpringBoot配置打war包
第一步:在Application啟動入口同級目錄下新增一個(gè)繼承了Servlet初始化器的類,文中是圈紅的ServletInitializer
第二步:在使用Maven構(gòu)建應(yīng)用程序時(shí)要在插件內(nèi)排除 spring-boot-starter-web 內(nèi)置的Tomcat依賴
第三步:顯示聲明packaging為war
至此,我們在使用Maven命令打包時(shí)即可打出war包
二、配置Tomcat
第一步:解決控制臺亂碼,在以下路徑中找到 logging.properties 文件更新
apache-tomcat-8.5.100\conf
java.util.logging.ConsoleHandler.encoding = GBK
說明:因?yàn)镃MD命令窗口默認(rèn)的字符集是GBK而Tomcat中的日志配置文件(logging.properties)中的編碼是UTF-8,因此當(dāng)運(yùn)行startup.bat時(shí),控制臺將輸出亂碼
第二步:讓Tomcat以指定的JDK運(yùn)行
好處是不必安裝JDK了,直接復(fù)制安裝好的JDK到Tomcat中就可以和Tomcat一體了
1、先將準(zhǔn)備好的JDK復(fù)制一份到Tomcat文件夾下
2、打開startup.bat配置JDK
:指定jdk版本,注意=前后不能有空格 set JAVA_HOME=D:\dev\apache-tomcat-8.5.100\jdk1.8.0_281 set JRE_HOME=D:\dev\apache-tomcat-8.5.100\jdk1.8.0_281\jre
3、配置項(xiàng)目上下文路徑(訪問項(xiàng)目前綴)
說明:我們的war包放在了Tomcat的webapps目錄下,默認(rèn)訪問項(xiàng)目的路徑要加上包名,比如我的war包是vote.war,我訪問項(xiàng)目的時(shí)候就是 ${ip}:${port}/vote/${requestMapping}
但,我不想要前綴也可以訪問,那就要配置,本文只提供更改server.xml的方式配置
apache-tomcat-8.5.100\conf
在上面的路徑中找到 server.xml 文件,在Host標(biāo)簽中加入Context標(biāo)簽
至此,Tomcat也配置好了,下面運(yùn)行測試
如果你也想在執(zhí)行startup.bat時(shí)顯示我上面那個(gè)窗體的配置信息可以直接在startup.bat最下方加入pause即可
pause;
圓滿成功
以上就是SpringBoot打war包并配置外部Tomcat運(yùn)行的全流程的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot打war包并配置Tomcat的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
IO密集型任務(wù)設(shè)置線程池線程數(shù)實(shí)現(xiàn)方式
這篇文章主要介紹了IO密集型任務(wù)設(shè)置線程池線程數(shù)實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07Java實(shí)現(xiàn)去掉字符串重復(fù)字母的方法示例
這篇文章主要介紹了Java實(shí)現(xiàn)去掉字符串重復(fù)字母的方法,涉及java針對字符串的遍歷、判斷、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下2017-12-12SpringBoot mybatis 實(shí)現(xiàn)多級樹形菜單的示例代碼
這篇文章主要介紹了SpringBoot mybatis 實(shí)現(xiàn)多級樹形菜單的示例代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05Java微服務(wù)Nacos Config配置中心超詳細(xì)講解
配置文件相對分散。在一個(gè)微服務(wù)架構(gòu)下,配置文件會隨著微服務(wù)的增多變的越來越多,而且分散 在各個(gè)微服務(wù)中,不好統(tǒng)一配置和管理。每一個(gè)環(huán)境所使用的配置理論上都是不同的,一旦需要修改,就需要我們?nèi)ジ鱾€(gè)微服務(wù)下手動維護(hù)2023-02-02Java數(shù)據(jù)結(jié)構(gòu)之棧的基本定義與實(shí)現(xiàn)方法示例
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)之棧的基本定義與實(shí)現(xiàn)方法,簡單描述了數(shù)據(jù)結(jié)構(gòu)中棧的功能、原理,并結(jié)合java實(shí)例形式分析了棧的基本定義與使用方法,需要的朋友可以參考下2017-10-10idea右鍵沒有java class選項(xiàng)問題解決方案
這篇文章主要介紹了idea右鍵沒有java class選項(xiàng)問題解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04Springboot項(xiàng)目優(yōu)雅地處理日志的方法詳解
這篇文章主要介紹了Springboot項(xiàng)目---優(yōu)雅地處理日志,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-07-07maven引入本地jar包運(yùn)行報(bào)錯(cuò)java.lang.NoClassDefFoundError解決
這篇文章主要為大家介紹了maven引入本地jar包運(yùn)行報(bào)錯(cuò)java.lang.NoClassDefFoundError解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10