配置完环境变量后必须重启所有命令行窗口才能生效,因windows进程启动时只读取一次环境变量;catalina_home需指向tomcat根目录(不含bin)、无中文空格,且java_home须正确配置并匹配tomcat版本要求。

配置完环境变量后,cmd窗口要重新打开
不需要重启电脑,但必须关闭所有已打开的命令行窗口(包括正在运行的 startup.bat 或 shutdown.bat),再新开一个 cmd 窗口才能读取新配置的环境变量。Windows 的命令行进程在启动时只读一次系统环境变量,后续修改不会自动生效。
为什么改了 CATALINA_HOME 还提示“找不到文件”
常见错误现象是执行 startup.bat 时弹出:「The CATALINA_HOME environment variable is not defined correctly」或直接报错找不到 catalina.bat。
- 检查
CATALINA_HOME变量值是否为 Tomcat 解压后的**根目录全路径**(不含\bin,例如D:\apache-tomcat-10.0.2,不是D:\apache-tomcat-10.0.2\bin) - 确认路径中没有中文、空格或特殊字符(如
Program Files容易引发问题,建议解压到D:\tomcat这类纯英文无空格路径) -
Path中添加的%CATALINA_HOME%\bin前后不能有多余分号,应为;C:\tomcat\bin或直接C:\tomcat\bin(Windows 10/11 允许不加前导分号)
JAVA_HOME 必须配,且版本得匹配
Tomcat 启动依赖 JDK,JAVA_HOME 缺失或指向错误会导致 startup.bat 一闪而过或报 java is not recognized。
-
JAVA_HOME必须指向 JDK 根目录(如C:\Program Files\Java\jdk-17.0.2),不是 JRE,也不是bin目录 - Tomcat 10.1+ 要求 JDK 11+,Tomcat 9.0 支持 JDK 8+;版本不匹配会启动失败,但错误日志可能不明显
- 可在新 cmd 中运行
echo %JAVA_HOME%和java -version验证是否生效
验证配置是否真正起作用的最快方式
别等浏览器访问 http://localhost:8080,先用命令行快速确认:
- 新开 cmd,输入
echo %CATALINA_HOME%—— 应输出你设置的路径 - 输入
startup(不是startup.bat)—— 如果能正常执行并弹出新窗口,说明Path和CATALINA_HOME都正确 - 若提示
'startup' 不是内部或外部命令,说明%CATALINA_HOME%\bin没进Path,或路径拼写错误(比如大小写、反斜杠/斜杠混用)
真正容易被忽略的是:环境变量修改后,IDE(如 IntelliJ)、终端工具(如 Windows Terminal、Git Bash)甚至某些编辑器内置终端,都可能缓存旧环境,必须重启这些工具本身,不只是关掉窗口再开。











