bat批处理文件启动Tomcat,报CATALINA_HOME环境错误问题的解决方法
用
启动Tomcat.bat
去call startup.bat
的问题。在用bat批处理文件启动Tomcat的时候遇到了一个问题,去bin目录下可以正常启动startup.bat,用命令行 cd bin目录
下startup.bat
也可以正常启动Tomcat,但是在启动Tomcat.bat
这个批处理文件下调用call startup.bat
就会出现The CATALINA_HOME environment variable is not defined correctly This environment variable is needed to run this program
这个错误
网上找了很多博客,发现有出现这种错,但是场景不一样(网上多数为,运行都运行不起,但是我的可以运行,只是批处理文件下运行不起),了解到一般通过startup.bat启动tomcat时流程是:
startup->catalina->setclasspath->catalina,遂去startup.bat下寻找出错原因。
根据错误信息,在startup.bat下,找到输出语句在这里
这里输出echo,说明判断"%CATALINA_HOME%\bin\catalina.bat"文件没有找到,我已经在startup.bat文件最上方设置了CATALINA_HOME的路径了,但是这里为什么会找不到catalina.bat文件呢,突然想到通过bat文件call 文件.bat
调用其他bat文件路径会改变,于是在startup.bat文件第一行@echo off下一行添加了cd /D %~dp0
这行代码(将%cd%
定位到当前目录),再运行启动Tomcat.bat
就OK了。