雙擊 startup.bat 卻只見黑框一閃即逝,是 Tomcat 新手最常遇到的挫折。本文從環境變數缺失、腳本缺乏暫停、配置檔硬編碼路徑三大主因切入,提供標準化排查流程,助你快速定位根因並修復啟動。
Tomcat 啟動腳本依賴兩個關鍵環境變數:
C:\Program Files\Java\jdk-21),不可指向 bin 目錄,亦不加分號。D:\apache-tomcat-9.0.85)。
右鍵 startup.bat →「編輯」,在檔案最末行新增 pause 並存檔。再次雙擊執行,視窗將保留錯誤訊息,方便閱讀具體異常:
rem 既有內容...
pause

除錯完成後記得移除 pause,避免生產環境誤觸暫停。
成因:新版 Tomcat 不再自動註冊環境變數,catalina.bat → setclasspath.bat 找不到 JDK 位置。
修法:編輯 %CATALINA_HOME%\bin\setclasspath.bat,在檔案開頭(rem 註解區塊之後)直接硬編碼指定:
set JAVA_HOME=C:\Program Files\Java\jdk-21
set JRE_HOME=C:\Program Files\Java\jdk-21
存檔後重新執行 startup.bat,若出現 Server startup in xxxxx ms 即代表成功。
成因:CATALINA_HOME 被硬編碼在某個配置檔中(常見於綠色版/修改版 Tomcat),導致路徑不符。
排查步驟:
%CATALINA_HOME%\bin\ 下是否存在 setenv.bat,若有請開啟查看是否寫死 CATALINA_HOME 路徑,刪除該檔或修正路徑。catalina.bat 內是否有硬編碼路徑邏輯。

zip 或 tar.gz 解壓部署,避免安裝版/綠色版植入不可控腳本。JAVA_HOME 系統環境變數,CATALINA_HOME 建議在 setenv.bat(自建)中以相對路徑動態推導:set CATALINA_HOME=%~dp0..service.bat install),而非直接呼叫 startup.bat。