Tomcat启动时startup文件源码分析

先看startup.bat文件,其中rem表示为注释符。---------rem Guess CATALINA_HOME if not defined---------set "CURRENT_DIR=%cd%" //把当前目录设置到CURRENT_DIR中if not "%CATALINA_HOME%" == "" goto gotHome //如何设置了CATALINA_HOM...
摘要由CSDN通过智能技术生成
  1. 先看startup.bat文件,其中rem表示为注释符。
---------rem Guess CATALINA_HOME if not defined---------
set "CURRENT_DIR=%cd%"   //把当前目录设置到CURRENT_DIR中
if not "%CATALINA_HOME%" == "" goto gotHome  //如果没有设置CATALINA_HOME,跳转至gotHome  
set "CATALINA_HOME=%CURRENT_DIR%"
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome //CATALINA_HOME目录下是否存在catalina.bat文件,存在则跳转至okHome 
cd ..
set "CATALINA_HOME=%cd%"
cd "%CURRENT_DIR%"
:gotHome
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
echo The CATALINA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
goto end
:okHome

set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"  //将这个路径赋值给变量EXECUTABLE

---------rem Check that target executable exists---------
if exist "%EXECUTABLE%" goto okExec  //存在EXECUTABLE,跳转至okExec  
echo Cannot find "%EXECUTABLE%"
echo This file is needed to run this program
goto end
:okExec

---------rem Get remaining unshifted command line arguments and save them in the---------
set CMD_LINE_ARGS=
:setArgs
if ""%1""=="""" goto doneSetArgs //判断第一个参数是否为空
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
shift
goto setArgs
:doneSetArgs

call "%EXECUTABLE%" start %CMD_LINE_ARGS%  //执行catalina.bat文件,有参数的话,带上参数

:end

通过startup启动tomcat,实则是通过执行catalina.bat文件,也就是说,我们通过catalina.bat文件,也可以启动tomcat。
2. catalina.bat文件

setlocal

---------rem Suppress Terminate batch job on CTRL+C---------
if not ""%1"" == ""run"" goto mainEntry
if "%TEMP%" == "" goto mainEntry
if exist "%TEMP%\%~nx0.run" goto mainEntry
echo Y>"%TEMP%\%~nx0.run"
if not exist "%TEMP
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值