• startup.bat(1)


    一、阅读说明

    1 术语说明

    1.1 下述内容使用“服务器”均代表Tomcat 7.0.75Web服务器。

    1.2 下述内容使用%SERVER_PATH%表示服务器根目录

    二、startup.bat文件源码

    1 startup.bat文件位置

    startup.bat文件位置:%SERVER_PATH%instartup.bat

    2 源码内容

    (以下内容经处理,去除不必要的信息)

     1 @echo off
     2 
     3 rem ---------------------------------------------------------------------------
     4 rem Start script for the CATALINA Server
     5 rem ---------------------------------------------------------------------------
     6 
     7 setlocal
     8 
     9 rem Guess CATALINA_HOME if not defined
    10 set "CURRENT_DIR=%cd%"
    11 if not "%CATALINA_HOME%" == "" goto gotHome
    12 set "CATALINA_HOME=%CURRENT_DIR%"
    13 if exist "%CATALINA_HOME%incatalina.bat" goto okHome
    14 cd ..
    15 set "CATALINA_HOME=%cd%"
    16 cd "%CURRENT_DIR%"
    17 :gotHome
    18 if exist "%CATALINA_HOME%incatalina.bat" goto okHome
    19 echo The CATALINA_HOME environment variable is not defined correctly
    20 echo This environment variable is needed to run this program
    21 goto end
    22 :okHome
    23 
    24 set "EXECUTABLE=%CATALINA_HOME%incatalina.bat"
    25 
    26 rem Check that target executable exists
    27 if exist "%EXECUTABLE%" goto okExec
    28 echo Cannot find "%EXECUTABLE%"
    29 echo This file is needed to run this program
    30 goto end
    31 :okExec
    32 
    33 rem Get remaining unshifted command line arguments and save them in the
    34 set CMD_LINE_ARGS=
    35 :setArgs
    36 if ""%1""=="""" goto doneSetArgs
    37 set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
    38 shift
    39 goto setArgs
    40 :doneSetArgs
    41 
    42 call "%EXECUTABLE%" start %CMD_LINE_ARGS%
    43 
    44 :end

    三、源码分析 

     1 @echo off
     2 setlocal
     3 set "CURRENT_DIR=%cd%"
     4 rem 将当前文件位置赋值给CURRENT_DIR变量
     5 if not "%CATALINA_HOME%" == "" goto gotHome
     6 rem 如果变量CATALINA_HOME不为空,跳转至gotHome
     7 
     8 set "CATALINA_HOME=%CURRENT_DIR%"
     9 rem 如果变量CATALINA_HOME不存在,将当前文件目录赋值给CATALINA_HOME
    10 if exist "%CATALINA_HOME%incatalina.bat" goto okHome
    11 rem 如果存在%CATALINA_HOME%incatalina.bat文件,跳转至okHome
    12 cd ..
    13 rem 返回目录上一级
    14 set "CATALINA_HOME=%cd%"
    15 rem 设置变量CATALINA_HOME为当前目录
    16 cd "%CURRENT_DIR%"
    17 rem 返回文件所在目录
    18 :gotHome
    19 if exist "%CATALINA_HOME%incatalina.bat" goto okHome
    20 rem 如果存在%CATALINA_HOME%incatalina.bat,则跳转至okHome
    21 echo The CATALINA_HOME environment variable is not defined correctly
    22 echo This environment variable is needed to run this program
    23 goto end
    24 :okHome
    25 
    26 set "EXECUTABLE=%CATALINA_HOME%incatalina.bat"
    27 rem 设置变量EXECUTABLE为%CATALINA_HOME%incatalina.bat
    28 rem Check that target executable exists
    29 if exist "%EXECUTABLE%" goto okExec
    30 rem 如果存在文件%EXECUTABLE%,则跳转至okExec
    31 echo Cannot find "%EXECUTABLE%"
    32 echo This file is needed to run this program
    33 goto end
    34 :okExec
    35 
    36 rem Get remaining unshifted command line arguments and save them in the
    37 set CMD_LINE_ARGS=
    38 :setArgs
    39 if ""%1""=="""" goto doneSetArgs
    40 set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
    41 shift
    42 rem 将参数向左移位
    43 goto setArgs
    44 :doneSetArgs
    45 
    46 call "%EXECUTABLE%" start %CMD_LINE_ARGS%
    47 rem 调用%CATALINA_HOME%incatalina.bat文件并传递参数
    48 
    49 :end

    四、结论

    服务器startup.bat主要做了以下几件事情:

    1、检查环境

    2、设置变量

    startup.bat设置变量CATALINA_HOME供catalina.bat使用

    3、准备参数

    4、调用catalina.bat

    传递参数格式:[start %CMD_LINE_ARGS%]

    版权声明:本文原创发表于 博客园,作者为 微小处存bug 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。

    感谢您的阅读,若您觉得本文对您有所帮助,请点击右下角的推荐按钮。

    若您想支持作者,详见下方二维码:

         

  • 相关阅读:
    cookie,sessionStorage,loclaStorage,HTML5应用程序缓存
    网页设计单位 px,em,rem,vm,vh,%
    TCP协议三步挥手与四步挥手
    pycharm --批量注释和缩进
    Linux --编译kernel
    python-- pip 安装提速
    linux --tar: .BUILDINFO: time stamp 2020-08-27 17:25:55 is 68853652.868391065 s in the future .MTREE
    linux --This system is not registered to Red Hat Subscription Management
    Samba --配置Samba 服务
    linux --环境变量配置文件
  • 原文地址:https://www.cnblogs.com/open-technology/p/10958112.html
Copyright © 2020-2023  润新知