没有合适的资源?快使用搜索试试~ 我知道了~
首页解析Tomcat的启动脚本–catalina.bat
概述 Tomcat 的三个最重要的启动脚本: startup.bat catalina.bat setclasspath.bat 上一篇咱们分析了 startup.bat 脚本 这一篇咱们来分析 catalina.bat 脚本. 至于 setclasspath.bat 这个脚本, 相信看完这一篇, 就可以自己看懂这个脚本了. 可以点击下载 [ setclasspath.bat 脚本 ]查看附注释的 setclasspath.bat 脚本 catalina.bat 这个脚本的代码有点多, 就单独弄了一篇展示 catalina.bat 脚本中的内容. 点击 [catalina.bat
资源详情
资源评论
资源推荐

解析解析Tomcat的启动脚本的启动脚本–catalina.bat
概述概述
Tomcat 的三个最重要的启动脚本:
startup.bat
catalina.bat
setclasspath.bat
上一篇咱们分析了 startup.bat 脚本
这一篇咱们来分析 catalina.bat 脚本.
至于 setclasspath.bat 这个脚本, 相信看完这一篇, 就可以自己看懂这个脚本了.
可以点击下载 [ setclasspath.bat 脚本 ]查看附注释的 setclasspath.bat 脚本
catalina.bat
这个脚本的代码有点多, 就单独弄了一篇展示 catalina.bat 脚本中的内容. 点击 [catalina.bat 脚本 ]下载查看.
下面咱们就按照脚本中的内容一行行的来分析.
@echo off
setlocal
这两个命令可以参考上一篇的文章(解析Tomcat的启动脚本–startup.bat)的解释
第一块脚本代码第一块脚本代码
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%\%~nx0.run" goto mainEntry
echo Y>"%TEMP%\%~nx0.Y"
call "%~f0" %* <"%TEMP%\%~nx0.Y"
rem Use provided errorlevel
set RETVAL=%ERRORLEVEL%
del /Q "%TEMP%\%~nx0.Y" >NUL 2>&1
exit /B %RETVAL%
:mainEntry
del /Q "%TEMP%\%~nx0.run" >NUL 2>&1
脚本的作用脚本的作用
判断用户是否使用
catalina.bat run
来启动 Tomcat 的.
如果用户使用 startup.bat 脚本启动 Tomcat, 那么这段脚本不会被执行.
这段代码看起来很乱, 慢慢分析.
第一行第一行:
注释, 意思就是: 禁止使用 CTRL+C 来终止批处理任务, 也不知道是怎么禁止的.
第二行第二行:
if not ""%1"" == ""run"" goto mainEntry
首先明白这里的这个 “%1” 这个变量代表的是什么? 正常情况下, 这个脚本是被 startup.bat 脚本调用的, 被调用的同时传递了一
个 start 参数过来(上一篇分析得出的). 在 批处理命令 中 %1 就表示命令之后的第一个参数, 在这里指的就是 start. 所以 “%1” =
start. 如果用户用 catalina.bat run 命令启动 Tomcat 的话, 那么这里的 “%1” = run.
第三行第三行:
if "%TEMP%" == "" goto mainEntry


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0