zoukankan      html  css  js  c++  java
  • 在Windows平台上运行Tomcat

      从之前的学习中知道,可以调用Bootstrap类将Toomcat作为一个独立的应用程序来运行,在Windows平台上,可以调用startup.bat批处理文件来启动Tomcat,或运行shutdown.bat批处理文件来关闭Tomcat,这两个批处理文件位于%CATALINA_HOME%/bin目录下,下面将会对批处理脚本进行介绍,如果你对DOS命令不太熟悉,那么你需要认真阅读下面的,如何编写批处理文件这个段落,

    如何编写批处理文件

      下面将会对批处理文件进行介绍,这样你才能理解用来启动或者关闭Tomcat的批处理文件,会对 rem、if、 echo、goto、lable等命令进行介绍,当然,介绍的内容并不能涵盖所欲偶的内容,

      首先批处理文件的后缀名必须为 .bat,可以从Windows Explorer 中双击一个批处理文件,也可以在DOS控制台中键入批处理文件的名字来调用它,调用批处理文件后,文件中的每一行命令都会被解释,下面将会对Tomcat的批处理文件命令进行介绍。

      注意:DOS命令及环境变量是区分大小写的,

      rem命令:该命令用于注释,解释器不会执行以rem命令开始的行

      pause:pause命令用于暂停正在执行的批处理文件,并提示用户按某个键,然后程序会继续执行。

      echo:该命令用于在DOS控制台上显示一段文件,例如,下面的命令将在控制台上输出 Hello Word,然后暂停程序,之所以暂停程序是为了能够使控制台将输出的文本显示出来:  

    echo Hello Word
    pause

      如果想要显示环境变量的值,需要在环境变量值的前后添加%,例如,下面的命令将输出 变量 myVar的值

    echo %myVar%

      如果想要输出操作系统的名字,可以使用如下命令

    echo %OS%

      echo off(

     #从下一行开始关闭回显

      使用 echo off 可以防止将批处理文件中的具体命令输出,而只会输出执行结果,但是 echo off 命令本身还是会显示出来,如果你想将 echo off 也隐藏起来,需要使用 @echo off 命令。

      @echo off 从本行开始关闭回显

      该命令与 echo off 命令相似,但是它会链 echo off 命令 也隐藏起来

      set 

      set命令用来设置用户定义或命名的环境变量,在批处理文件中设置的环境变量是临时存储在内存中的,在批处理文件执行完成后就会销毁

      例如:下面的set命令 创建了一个名为 THE_KING的环境变量,将其值设置 为 Elvis ,并输出到控制台上

    set THE_KING=Elvis
    echo %THE_KING%
    pause

      label

      使用冒号设置一个标签,然后可以将该标签传递给goto命令,这样程序就会跳转到标签指定的位置,下面的语句定义了一个名为 end 的标签

    :end

    有关于标签的更多例子请参见 对 goto 命令的介绍

      goto

      goto命令强制批处理文件跳转到指定标签所在的位置继续执行,示例如下:

    echo Start
    goto end
    echo I Can guarantee this line will not be executed
    :end
    echo End
    pause

    在第一行输出了 Start 之后,批处理文件会执行goto 命令,跳转到 end 标签后的语句继续执行,结果是 跳过了第三行内容,没有执行它

     if

       if用来执行条件测试,有下面三种用法

    1. 测试变量的值
    2. 测试文件是否存在
    3. 测试错误值

    使用下面的命令格式 来测试一个变量的值

    if variable==value 

    例如,下面的if语句将会测试变量myVar的值 是不是 3 ,如果是,则它在控制台输出 Correct

    set myVar=3
    if  %myVar%==3 echo Correct

    运行上面的命令时,会对变量myVar的值进行判断,并输出 Correct

    可以使用下面的命令格式 来测试文件是否存在

    if exist c:	empmyFile.txt goto start

    如果 在 c: emp目录下存在myFile.txt文件,程序就会跳转 start标签所在的位置继续执行,也可以使用 not关键字来对一条 语句取反

    not

    not关键字用来对一条语句取反,例如,下面的命令在变量 myVar的值不是3时 输出 Correct

    set myVar=3
    if not %myVae%==3 echo Correct
    pause

    当 c: emp目录下 不存在 myFile.txt文件时,下面的命令会跳转到标签end所在的位置继续执行。

    if not exist c:	empmyFile.txt goto end

    exist

      当测试文件是否存在时,会使用到 if 语句 和 exist命令,示例程序请参见  if 命令的例子

    接收参数

      可以给批处理文件传递参数,并使用 %1 来引用第一个参数, %2 引用第二个参数,依次类推,例如:下面的命令将在控制台输出第一个参数

      

    echo %1
    

      如果批处理文件的名字是test.bat,并使用 test Hello 命令来调用它 ,那么将会在控制台输出 Hello

    下面的批处理文件会对第一个参数的值进行检查,如果第一个参数是 start ,它就会输出 Starting application ,如果第一个参数是 stop,就输出 Stopping application ,否则 输出 Invalid parameter

    echo off
    if %1==start  goto start 
    if %1==stop  goto stop
    goto invalid
    :start 
    echo Starting application
    goto end
    :stop
    echo Stopping application
    goto end
    :invalid
    echo Invalid parameter
    goto end
    :end

    如果检查运行批处理文件 是否带有参数时,可以将 %1 与空字符串比较,例如 对于下面的批处理文件,如果运行时没有使用参数,就会在控制台输出 No parameter

    if "1%"=="" echo No parameter

    或者

    if ""%1""=="""" echo No parameter

     shift 

    shift 命令用来将 全体参数向后移动一位,将%2的值 赋值给了1%,将%3的值赋值给%2,依次类推,例如下面的代码使用了一条shift命令

    echo off
    shift
    echo %1
    echo %2

    如果在运行批处理文件时,附加了三个参数 a、b、c,那么上面的命令会有如下输出

    b

    c

    移动之后,要使用%0 来 引用第一个参数,而现在最后一个参数则失效了。

    call

    call命令用来调用另外一条命令。

    批处理中调用另外一个批处理的命令,否则剩下的批处理指令将不会被执行
    有时有的应用程序用start调用出错的,也可以call调用

    setLocal

    在批处理文件中使用setLocal对环境变量的修改只在当前批处理脚本中有效,当遇到endLocal命令后,在setLocal之后设置的环境变量恢复到使用SETLOCAL语句以前的状态。

    start

    打开一个新的Windows控制台,并可以为这个新的控制台指定一个名字,例如:

    start  "Title"

    此外,在Titile 后面,还有传入一条将要在新的控制台中执行的命令

    例如 :在新的Windows控制台中 输出 this is new Title

    start "Title" echo this is New Title

    那么上面大致介绍了 批量处理文件的一些 DOS 命令,下面就进入我们要了解的重点:Tomcat 的启动批处理文件

    catalina.bat批处理文件

      catalina.bat批处理文件用来启动或者关闭Tomat,另外两个文件(startup.bat 和 shutdown.bat)提供了更简单的启动和关闭Tomcat的方法,实际上,startup.bat 和 shutdowm.bat都会调用catalian.bat并传入相应的参数,

    在%CATALINA_HOME%/bin目录下,需要以下面的语法格式调用catalina.bat 脚本

    catalina

    或者使用下面的语法从%CATALINA_HOME%/bin目录下调用该脚本

    bincatalina

    在两种情况下 参数 command 的可选值包括:

    • debug 在调试器中启动 Catalina
    • debug -security 在使用安全管理器的情况下调试Catalina
    • embedded 以嵌入模式启动Catalina
    • jpda start 在JPDA调试器下启动Catalina
    • run 在当前窗口中启动 Catalina
    • run -security 在当前窗口中,通过安全管理器启动Catalina
    • start 在新窗口启动Catalina
    • start -security 在新窗口通过安全管理器启动Catalina
    • stop 关闭Catalina

    例如 要想在新窗口启动Catalina,可以使用如下命令

    catalina start

      

      

  • 相关阅读:
    CodeForces 510C Fox And Names (拓扑排序)
    Codeforces 1153D Serval and Rooted Tree (简单树形DP)
    HDU 6437 Problem L.Videos (最大费用)【费用流】
    Luogu P3381 (模板题) 最小费用最大流
    Codeforces 741B Arpa's weak amphitheater and Mehrdad's valuable Hoses (并查集+分组背包)
    Codeforces 1144F Graph Without Long Directed Paths (DFS染色+构造)
    HDU 2204 Eddy's 爱好 (容斥原理)
    Codeforces 939E Maximize! (三分 || 尺取)
    Codeforces 938D. Buy a Ticket (最短路+建图)
    CodeForces 959E Mahmoud and Ehab and the xor-MST (MST+找规律)
  • 原文地址:https://www.cnblogs.com/ChenD/p/10193180.html
Copyright © 2011-2022 走看看