從SpringBoot打war包并配置外部Tomcat運(yùn)行的全流程
環(huán)境
SpringBoot 2.6.15
Tomcat 8.5.100
JDK 1.8.0_281
Windows
正文
一、SpringBoot配置打war包
第一步:在Application啟動(dòng)入口同級(jí)目錄下新增一個(gè)繼承了Servlet初始化器的類(lèi),文中是圈紅的ServletInitializer


第二步:在使用Maven構(gòu)建應(yīng)用程序時(shí)要在插件內(nèi)排除 spring-boot-starter-web 內(nèi)置的Tomcat依賴

第三步:顯示聲明packaging為war

至此,我們?cè)谑褂肕aven命令打包時(shí)即可打出war包

二、配置Tomcat
第一步:解決控制臺(tái)亂碼,在以下路徑中找到 logging.properties 文件更新
apache-tomcat-8.5.100\conf

java.util.logging.ConsoleHandler.encoding = GBK
說(shuō)明:因?yàn)镃MD命令窗口默認(rèn)的字符集是GBK而Tomcat中的日志配置文件(logging.properties)中的編碼是UTF-8,因此當(dāng)運(yùn)行startup.bat時(shí),控制臺(tái)將輸出亂碼
第二步:讓Tomcat以指定的JDK運(yùn)行
好處是不必安裝JDK了,直接復(fù)制安裝好的JDK到Tomcat中就可以和Tomcat一體了
1、先將準(zhǔn)備好的JDK復(fù)制一份到Tomcat文件夾下

2、打開(kāi)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)目上下文路徑(訪問(wèn)項(xiàng)目前綴)
說(shuō)明:我們的war包放在了Tomcat的webapps目錄下,默認(rèn)訪問(wèn)項(xiàng)目的路徑要加上包名,比如我的war包是vote.war,我訪問(wèn)項(xiàng)目的時(shí)候就是 ${ip}:${port}/vote/${requestMapping}
但,我不想要前綴也可以訪問(wèn),那就要配置,本文只提供更改server.xml的方式配置
apache-tomcat-8.5.100\conf
在上面的路徑中找到 server.xml 文件,在Host標(biāo)簽中加入Context標(biāo)簽

至此,Tomcat也配置好了,下面運(yùn)行測(cè)試


如果你也想在執(zhí)行startup.bat時(shí)顯示我上面那個(gè)窗體的配置信息可以直接在startup.bat最下方加入pause即可
pause;

圓滿成功
以上就是SpringBoot打war包并配置外部Tomcat運(yùn)行的全流程的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot打war包并配置Tomcat的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringBoot整合Netty實(shí)現(xiàn)WebSocket的示例代碼
本文主要介紹了SpringBoot整合Netty實(shí)現(xiàn)WebSocket的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
JDK,TOMCAT,MAVEN,Springboot,Spring版本對(duì)應(yīng)詳解
本文介紹了如何升級(jí)JDK、Tomcat和Maven,并詳細(xì)描述了配置環(huán)境變量的方法,通過(guò)修改JAVA_HOME、CATALINA_HOME和MAVEN_HOME等環(huán)境變量,可以實(shí)現(xiàn)不同版本JDK、Tomcat和Maven的切換2026-04-04
在Map中實(shí)現(xiàn)key唯一不重復(fù)操作
這篇文章主要介紹了在Map中實(shí)現(xiàn)key唯一不重復(fù)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
Java?MapStruct優(yōu)雅地實(shí)現(xiàn)對(duì)象轉(zhuǎn)換
MapSturct?是一個(gè)生成類(lèi)型安全,高性能且無(wú)依賴的?JavaBean?映射代碼的注解處理器,用它可以輕松實(shí)現(xiàn)對(duì)象轉(zhuǎn)換,下面就來(lái)和大家聊聊具體操作吧2023-06-06
java算法之Math.random()隨機(jī)概率玩法實(shí)例演示
最近打算整理排序算法,發(fā)現(xiàn)很有必要準(zhǔn)備一下生成隨機(jī)數(shù)的工具類(lèi),下面這篇文章主要給大家介紹了關(guān)于java算法之Math.random()隨機(jī)概率玩法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05
Java錯(cuò)誤:進(jìn)行語(yǔ)法分析時(shí)已到達(dá)文件結(jié)尾的解決
這篇文章主要介紹了Java錯(cuò)誤:進(jìn)行語(yǔ)法分析時(shí)已到達(dá)文件結(jié)尾的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08
SpringTask實(shí)現(xiàn)定時(shí)任務(wù)方法講解
通過(guò)重寫(xiě)Schedu lingConfigurer方法實(shí)現(xiàn)對(duì)定時(shí)任務(wù)的操作,單次執(zhí)行、停止、啟動(dòng)三個(gè)主要的基本功能,動(dòng)態(tài)的從數(shù)據(jù)庫(kù)中獲取配置的定時(shí)任務(wù)cron信息,通過(guò)反射的方式靈活定位到具體的類(lèi)與方法中2023-02-02
springboot配置mysql數(shù)據(jù)庫(kù)spring.datasource.url報(bào)錯(cuò)的解決
這篇文章主要介紹了springboot配置mysql數(shù)據(jù)庫(kù)spring.datasource.url報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01

