許多開發者在安裝 Apache Tomcat 時,明明已經正確安裝並配置了 JDK,卻在啟動或安裝過程中遇到經典錯誤:「No Java virtual machine found in folder」。這通常發生在 Windows 環境下,Tomcat 無法自動定位到 Java 執行環境。
Tomcat 本身不包含 Java 運行時,它依賴系統環境變量 JAVA_HOME 或 PATH 來尋找 JVM。常見原因包括:
JAVA_HOME 環境變量未設置或指向錯誤路徑(如指向 JRE 而非 JDK 目錄)。PATH 中缺少 %JAVA_HOME%\bin。JAVA_HOMEC:\Program Files\Java\jdk-17),注意不要包含 \bin 目錄。Path 變量,新增 %JAVA_HOME%\bin。java -version 驗證配置生效。若不想修改系統環境變量,可直接編輯 Tomcat 安裝目錄下的 bin\setenv.bat(Windows)或 bin/setenv.sh(Linux/Mac),添加:
set JAVA_HOME=C:\Program Files\Java\jdk-17
保存後重新啟動 Tomcat。
確保 JDK 和 Tomcat 位數一致:
完成上述設置後,重新運行 Tomcat 安裝程式或啟動 startup.bat,錯誤應不再出現。若仍有問題,請檢查日誌文件 logs/catalina.out 獲取詳細錯誤信息。
「No Java virtual machine found」本質上是 Tomcat 無法定位 JVM。通過正確配置 JAVA_HOME、確保架構一致、或在 Tomcat 腳本中指定 Java 路徑,即可徹底解決。建議採用方法一,一勞永逸地為所有 Java 應用提供正確的運行環境。