`
java-boy
  • 浏览: 247415 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

分析 Tomcat startup.bat 启动脚本

    博客分类:
  • Java
阅读更多
闲来无事,平常容器多使用tomcat,所以今天就想打开tomcat启动脚本看看。都说tomcat是纯Java的,这东西只有自己打开看看才能知道。呵呵!

说来tomcat的脚本确实不难,启动脚本更是没有几行,以下是我解释的tomcat startup.bat脚本。

rem Guess CATALINA_HOME if not defined 确定该命令(脚本)是否在tomcat目录里

set CURRENT_DIR=%cd% 设定 CURRENT_DIR 为当前目录
if not "%CATALINA_HOME%" == "" goto gotHome 如果 CATALINA_HOME 不为空,跳转到 gotHome 位置
set CATALINA_HOME=%CURRENT_DIR% 如果为空,CATALINA_HOME设成 CURRENT_DIR(即当前目录)
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome 如果存在catalina.bat, 就去 gotHome
cd .. 否则返回上级目录 (你可以尝试把startup.bat拷贝到上级目录,它一样可以启动)
set CATALINA_HOME=%cd% 把CATALINA_HOME 重新设为当前目录。(应该是tomcat\)
cd %CURRENT_DIR% 转到 CURRENT_DIR目录,即 tomcat\bin\下
:gotHome gotHome 位置
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome 如果存在catalina.bat,就去 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 查询catalina.bat 命令是否存在

if exist "%EXECUTABLE%" goto okExec 查看 catalina.bat 是否存在,如果存在,就去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 前面两行是注释,这里是setArgs 位置的返回点
if ""%1""=="""" goto doneSetArgs 如果没有参数,转到doneSetArgs位置
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1 如果有参数,将参数放入CMD_LINE_ARGS里,加在CMD_LINE_ARGS变量的后面
shift 把变量%2 里移到%1
goto setArgs 返回setArgs位置,进行循环
:doneSetArgs

call "%EXECUTABLE%" start %CMD_LINE_ARGS% 如果一切顺利调用 "%EXECUTABLE%" start 并加上 结尾参数

:end

从上文的分析中我们可以看见,startup.bat脚本实际上并没有做什么实际的工作,主要是查看当前命令所在目录。看是否在tomcat\或tomcat\bin\目录下。以及查看将调用该命令的参数传递给catalina.bat。最后调用catalina.bat start命令。与tomcat书中说startup.bat与catalina.bat start功能一样,相吻合。即startup.bat的主要作用是调用catalina.bat start命令。

我之后,会在另一篇文章上对catalina.bat 脚本进行解析!
分享到:
评论

相关推荐

    解析Tomcat的启动脚本–catalina.bat

    这一篇咱们来分析 catalina.bat 脚本. 至于 setclasspath.bat 这个脚本, 相信看完这一篇, 就可以自己看懂这个脚本了. 可以点击下载 [ setclasspath.bat 脚本 ]查看附注释的 setclasspath.bat 脚本 catalina.bat 这...

    将tomcat的startup.bat改为系统服务的方法

    以下是如何将Tomcat的`startup.bat`脚本转换为系统服务的详细步骤: 1. 首先,确保你的系统环境配置正确。在安装Tomcat后,你需要设置几个环境变量: - `JAVA_HOME`: 指向JRE(Java Runtime Environment)的安装...

    推荐了多个详细的startup.bat闪退问题解决办法

    1. startup.bat文件的作用:startup.bat文件是Windows操作系统中的一种批处理文件,用于执行一系列命令,例如启动Tomcat服务器、设置环境变量等。 2. Tomcat服务器的使用:Tomcat服务器是一种常用的Web服务器软件,...

    双击startup.bat,启动不了tomcat

    用户尝试通过双击`startup.bat`脚本来启动Tomcat服务器时遇到了问题,系统提示“JAVA_HOME environment variable is not defined correctly”。此外,在命令行窗口中还出现了关于`CATALINA_HOME`未正确配置的警告。 ...

    windows下直接点击startup.bat启动tomcat服务.docx

    总之,解决“点击startup.bat启动Tomcat服务时找不到JAVA_HOME或JRE_HOME”的问题,关键在于正确设置和验证系统的环境变量,以及确保Tomcat启动脚本可以访问到Java的运行时环境。这个过程对于任何使用Tomcat作为应用...

    tomcat startup.bat一闪而过.md

    当在 Windows 平台上启动 Tomcat 的 `startup.bat` 脚本时一闪而过的情况通常是因为命令提示符窗口无法长时间保持打开,而不是 Tomcat 启动过程中出现了问题。

    命令行启动关闭tomcat而不显示cmd界面

    如果不想以服务方式运行,但仍然想在命令行启动Tomcat而不显示窗口,可以在启动命令后添加`-startup`参数,例如:`startup.bat -startup`。这将在后台启动Tomcat,但仅适用于手动启动,不适合自动启动或远程操作。 ...

    解析Tomcat的启动脚本--startup.bat

    通过分析startup.bat脚本,我们可以更好地理解Tomcat的工作原理以及当遇到启动问题时,如何进行故障排除。 ### Tomcat启动流程概述 在分析startup.bat脚本之前,有必要先了解一下Tomcat的基本启动流程。使用...

    Tomcat中的startup.bat原理详细解析

    在Windows操作系统中,Tomcat的启动过程主要依赖于一个名为`startup.bat`的批处理脚本。这个脚本是Tomcat服务器的一部分,用于方便用户在命令行环境下启动Tomcat服务。接下来,我们将深入探讨`startup.bat`的工作...

    startup-Tomcat8.bat

    Tomca8配合windows的定时任务启动脚本。window的任务与计划中添加定时任务启动脚本

    tomcat启动startup.bat一闪而过问题的解决方法【亲测有效】

    当运行Tomcat的startup.bat批处理文件时,它会调用catalina.bat脚本,进而调用setclasspath.bat来设置Java环境相关的CLASSPATH。如果环境变量JAVA_HOME和JRE_HOME没有正确配置,Tomcat将无法找到正确的Java执行环境...

    双击startup.bat无法启动Tomcat且闪退

    这个问题可能是由多种原因引起的,包括端口被占用、Java环境变量未正确配置、catalina_home环境变量缺失、catalina.bat脚本没有设置暂停以及可以绕过环境变量配置的解决方案。以下将详细解释这些原因及其相应的解决...

    tomcat7.0.109下载

    2. **启动与停止**:Tomcat服务器可以通过`bin/startup.sh`(Unix/Linux)或`bin/startup.bat`(Windows)脚本来启动,相应地,使用`bin/shutdown.sh`或`bin/shutdown.bat`来关闭服务器。 3. **Web应用程序部署**:...

    Tomcat的service.bat

    标题“Tomcat的service.bat”指的是Tomcat服务器中用于管理和操作Windows服务的脚本文件。在非安装版本的Tomcat中,如果你希望它能够在系统启动时自动运行,就像其他服务那样,你就需要利用这个名为“service.bat”...

    tomcat9.0.85可用版本压缩包

    然后,可以通过bin目录下的startup.sh或startup.bat脚本来启动服务器,shutdown.sh或shutdown.bat则用于关闭服务器。 5. **Web应用程序部署**: 应用程序通常以WAR(Web ARchive)格式部署到Tomcat的webapps目录下...

    Web项目打成war包部署Tomcat时运行startup.bat直接闪退部署失败的快速解决方案

    CATALINA_HOME定义了Tomcat的安装位置,如果这个变量未被设置,startup.bat在执行过程中将无法找到它依赖的catalina.bat等关键脚本文件。因此,需要检查并确保CATALINA_HOME已经配置,并指向正确的Tomcat安装目录。 ...

    apache-tomcat-7.0.100-windows-x64.zip

    1. **bin** 目录:包含了启动和停止Tomcat的脚本,如`startup.bat`和`shutdown.bat`,以及用于管理应用程序的工具,如`catalina.bat`和`tomcat7.exe`。 2. **conf** 目录:存储服务器配置文件,如`server.xml`...

    apache-tomcat-9.0.86-windows-x64.zip

    5. **启动和管理**:通过运行`bin/startup.bat`脚本启动Tomcat,使用`bin/shutdown.bat`关闭。还可以使用`bin/catalina.sh`或`catalina.bat`脚本来控制更多服务选项。 6. **Web应用程序部署**:将WAR文件(Web应用...

    tomcat 远程调试 脚本文件 bat

    将附件debug.bat放在tomcat/bin目录下, 需要调试就点击debug.bat这个文件,不需要调试还是点击startup.bat.

Global site tag (gtag.js) - Google Analytics