tomcat:Catalina批处理命令

这里只解释部分重要代码的含义。
1.       代码:
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
set BASEDIR=%CATALINA_HOME%
call "%CATALINA_HOME%/bin/setclasspath.bat" %1
if errorlevel 1 goto end
含义:如果存在setclasspath.bat,就跳到okSetclasspath执行setclasspath.bat,否则报错后转到end。
setclasspath.bat的作用是设置必要的环境变量,例如将%java_home%/lib/tools.jar加入classpath环境变量。setclasspath.bat要用到java_home的环境变量,所以说在执行到setclasspath.bat之前必须保证已经设置了java_home环境变量,不管是在代码中还是在系统配置中。所以说,通过startup启动tomcat的唯一前提是已经设置了java_home环境变量,而通过exe安装包的方式执行不需要这个条件。

2.       代码:
set CLASSPATH=%CLASSPATH%%CATALINA_HOME%/bin/bootstrap.jar
含义:将%CATALINA_HOME%/bin/bootstrap.jar加入classpath环境变量。bootstrap.jar中包含将tomcat启动和停止的类。

3.       代码:
set MAINCLASS=org.apache.catalina.startup.Bootstrap
set ACTION=start
……
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
含义:就是执行命令:java org.apache.catalina.startup.Bootstrap start 启动tomcat。

你可能感兴趣的:(tomcat,catalina)