startup.bat啟動(dòng)Tomcat閃退問(wèn)題原因及解決
出現(xiàn)問(wèn)題:
安裝了Tomcat之后,開始用著還好好的。莫名其妙的就很突然出現(xiàn)了一些玄學(xué)問(wèn)題,某一次開始我雙擊了startup.bat啟動(dòng)Tomcat時(shí)我的黑窗口就很不給面子的運(yùn)行著運(yùn)行著就閃退了,隱約間能看到個(gè)異常,可剛看清楚一個(gè)caused by...黑窗口就已經(jīng)關(guān)閉了。經(jīng)歷了重啟電腦等常規(guī)解決問(wèn)題的思路后依舊無(wú)法解決。
分析問(wèn)題
既然問(wèn)題出現(xiàn)在這個(gè)啟動(dòng)后閃退,那就去看一眼啟動(dòng)時(shí)都做了什么?用記事本打開startup.bat,會(huì)發(fā)現(xiàn)一行腳本是這樣寫的:
set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"
看得出它訪問(wèn)了本目錄下的catalina.bat腳本,那就記事本打開catalina.bat,此時(shí)又發(fā)現(xiàn)里面出現(xiàn)了這些內(nèi)容:
rem Get standard Java environment variables
if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath
echo Cannot find "%CATALINA_HOME%\bin\setclasspath.bat"
echo This file is needed to run this program
goto end
:okSetclasspath
call "%CATALINA_HOME%\bin\setclasspath.bat" %1
if errorlevel 1 goto end
這說(shuō)明catalina.bat又訪問(wèn)了該目錄下的setclasspath.bat,而記事本打開setclasspath.bat后又發(fā)現(xiàn)它又訪問(wèn)了catalina.bat。
綜上發(fā)現(xiàn)startup.bat啟動(dòng)流程為:startup->catalina->setclasspath->catalina

閃退原因:
可見(jiàn)這三個(gè)文件一個(gè)都不能出問(wèn)題。分析這三個(gè)文件得出閃退問(wèn)題主要原因
原因一:java環(huán)境變量出問(wèn)題了
從啟動(dòng)腳本中看得出Tomcat多次訪問(wèn)了環(huán)境變量信息,其中也包括java環(huán)境(畢竟Tomcat原碼也是java?。?。故要先去檢查jdk的環(huán)境配置。
注意:CATALINA_HOME是Tomcat的環(huán)境,你可以選擇不配置,不過(guò)這樣的話你就只能在bin目錄下啟動(dòng)Tomcat了,換句話來(lái)講,配置完Tomcat環(huán)境后你可以把startup.bat復(fù)制到其他地方雙擊啟動(dòng)。
原因二:端口占用
如果Tomcat已經(jīng)被啟動(dòng)或者8080端口被占用,這自然是不允許的。
你可以直接訪問(wèn)localhost:8080看能否訪問(wèn)Tomcat,如果可以那就說(shuō)明是已經(jīng)開啟過(guò)了的,你可以雙擊shutdown.bat進(jìn)行關(guān)閉。
或者你可以在黑窗口中執(zhí)行netstat -ano | findstr "8080"查看8080端口狀態(tài),如果是TIME_WAIT則說(shuō)明未被占用。
原因三:你的Tomcat不干凈了
到現(xiàn)在還沒(méi)解決,那就有可能是你所下載的Tomcat是一些綠色版、無(wú)敵版、xx版等閹貨或畸形貨。此時(shí)就可在記事本打開startup.bat,在腳本最后面一行加上pause,保存后啟動(dòng)進(jìn)行斷點(diǎn)調(diào)試了。(不一定非得像我圖片中加在倒數(shù)第二行,最后一行應(yīng)該也可以,只要不放在前面的邏輯中就行)。

此時(shí)啟動(dòng)效果和之前沒(méi)有區(qū)別,只是出了問(wèn)題后不再會(huì)立刻閃退,而是你在窗口中按任意鍵后才會(huì)退出。OK!現(xiàn)在你就研究屬于你的bug吧(記得解決完問(wèn)題后把pause刪掉)!
到此這篇關(guān)于startup.bat啟動(dòng)Tomcat閃退問(wèn)題原因及解決的文章就介紹到這了,更多相關(guān)startup.bat啟動(dòng)Tomcat閃退內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- tomcat雙擊startup.bat一閃而過(guò)(閃退)的問(wèn)題解決
- 解決Tomcat運(yùn)行startup.bat閃退問(wèn)題方法
- tomcat點(diǎn)擊startup.bat出現(xiàn)閃退的原因及解決方法
- Tomcat執(zhí)行startup.bat出現(xiàn)閃退的可能原因及解決
- 如何解決點(diǎn)擊 tomcat9.exe閃退的問(wèn)題
- 詳解Tomcat雙擊startup.bat閃退的解決方法
- 關(guān)于tomcat點(diǎn)擊startup.bat后閃退問(wèn)題的解決辦法
- 直接雙擊啟動(dòng)tomcat中的startup.bat閃退原因及解決方法
- Tomcat 啟動(dòng)閃退常見(jiàn)問(wèn)題18種解決方法及示例
相關(guān)文章
Tomcat進(jìn)程占用CPU過(guò)高的解決方法
本文主要介紹了Tomcat進(jìn)程占用CPU過(guò)高的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
Tomcat在linux環(huán)境中開機(jī)自啟(定時(shí)重啟)的方法
我們經(jīng)常會(huì)遇到服務(wù)器斷電或異常,而異常后tomcat中部署的web項(xiàng)目需要我手動(dòng)去啟動(dòng),為此,特別貢獻(xiàn)出Linux環(huán)境中Tomcat開機(jī)自啟的方式供學(xué)習(xí)使用,需要的朋友可以參考下2023-10-10
eclipse啟動(dòng)tomcat無(wú)法訪問(wèn)的解決
這篇文章主要介紹了eclipse啟動(dòng)tomcat無(wú)法訪問(wèn)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
Jenkins+tomcat自動(dòng)發(fā)布的熱部署/重啟及遇到的問(wèn)題解決辦法(推薦)
這篇文章主要介紹了Jenkins+tomcat自動(dòng)發(fā)布的熱部署/重啟及遇到的問(wèn)題解決辦法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
tomcat啟動(dòng)報(bào)錯(cuò):java.util.zip.ZipException的解決方法
這篇文章主要給大家介紹了關(guān)于tomcat啟動(dòng)報(bào):java.util.zip.ZipException錯(cuò)誤的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),同樣遇到這個(gè)問(wèn)題的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08
快速解決Tomcat重新配置后啟動(dòng)慢的問(wèn)題
這篇文章主要介紹了解決Tomcat重新配置后啟動(dòng)慢的問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02
詳解在Tomcat7.0中設(shè)置默認(rèn)服務(wù)器和不加端口名訪問(wèn)
本篇文章主要介紹了在Tomcat7.0中設(shè)置默認(rèn)服務(wù)器和不加端口名訪問(wèn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
Tomcat啟動(dòng)springboot項(xiàng)目war包報(bào)錯(cuò):?jiǎn)?dòng)子級(jí)時(shí)出錯(cuò)的問(wèn)題
這篇文章主要介紹了Tomcat啟動(dòng)springboot項(xiàng)目war包報(bào)錯(cuò):?jiǎn)?dòng)子級(jí)時(shí)出錯(cuò)的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08
對(duì)一個(gè)tomcat實(shí)現(xiàn)多端口、多域名訪問(wèn)的方法
這篇文章主要是介紹如何在tomcat中進(jìn)行配置,使同一個(gè)應(yīng)用可以通過(guò)不同的端口號(hào)進(jìn)行訪問(wèn)。大家可能都遇到過(guò),在某些需要進(jìn)行安全控制的場(chǎng)景中會(huì)應(yīng)用到,例如:不同地址段只能通過(guò)某個(gè)端口訪問(wèn)。下面通過(guò)這篇文章來(lái)詳細(xì)學(xué)習(xí)下吧,有需要的可以參考借鑒。2016-11-11

