• Tomcat--startup.bat文件


    Tomcat--startup.bat文件

    如何启动tomcat,如何关闭tomcat等常规操作,我们应该都很清楚了,但是实际中我们经常会遇到一些恶心的情景,比如说正在我们撸码撸的很高兴的时候,eclipse挂掉了,这个时候重启IDE之后,启动tomcat就会发现说8080已经被占用了,如果我们在资源管理器里面去管进程的话会把java的进程也关掉,那么怎么办呢?很简单就是打开我的电脑,找到tomcat所在目录,然后点击shutdown.bat就OK了。但是这样子的操作还要找下目录,太麻烦了,我想直接一步输入指令就可以控制tomcat的启动和关闭,怎么办呢?然后我不希望启动和关闭tomcat都会出现那个java的那个CMD窗口,直接放在我输入指令的那一个里面就好了,怎么办呢?

    解决上面的这些问题,就必须要了解下startup.bat文件,这也正是我写这篇博客的原因。
    startup.bat,shutdown.bat,startup.sh,shutdown.sh这4个文件我们经常用到,bat结尾的就是在Windows操作环境下执行的批处理文件,sh结尾的就是在linux环境下执行的批处理文件。

    前面的博客里面我们也已经说明白了,要想运行tomcat就必须要配置JAVA_HOME,为什么呢?我们用editplus打开startup.bat文件来看一下。

    下面是一篇原来的startup.bat源码,然后我自己加上了注释,只需要了解下就好了,不用管他具体的怎么写的。
    set "CURRENT_DIR=%cd%"
    //如果CATALINA_HOME不为空就跳转到gotHome指令,并且把CATALINA_HOME所在的路径设置成为当前的路径。
    if not "%gotHome%" == "" goto gotHome
    set "CATALINA_HOME=%CURRENT_DIR%"
    //如果存在CATALINA_HOME%incatalina.bat就跳转到okHome指令上
    if exist "%CATALINA_HOME%incatalina.bat" goto okHome
    cd ..
    set "CATALINA_HOME=%cd%"
    cd "%CURRENT_DIR%"
    
    
    :gotHome
    //如果存在CATALINA_HOME%incatalina.bat就跳转到okHome指令上
    if exist "%CATALINA_HOME%incatalina.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
    //跳转到catalina.bat指令上
    set "EXECUTABLE=%CATALINA_HOME%incatalina.bat"

    OK,现在就清楚了,我们在点击startup.bat文件的时候,实际上操作的是catalina.bat文件。现在我们回到我刚才提出的那几个问题。
    现在我们不用IDE想要启动和关闭tomcat,直接找到目录鼠标点点就OK,或者使用CMD指令到tomcat的bin目录下执行也可以,如下图:


    但是上面有一个问题就是还要复制tomcat的路径到CMD窗口里面,太折腾了,我想直接在CMD任意的窗口下就可以使用startup.bat,这里就要配置path,将tomcat的路径带上bin目录在添加在path中,然后运行startup指令,但是CMD窗口里面报错,如下图:


    上面显示的这2行代码可以在前面的startup文件里面看到,就是echo后面那2句话,上面的信息已经说的很清楚了,就是说直接在任意的目录下运行startup指令如要配置“CATALINA_HOME”,也就是tomcat的路径,OK,那我们来配置下:

    右键我的电脑,高级系统设置,高级,环境变量,新增CATALINA_HOME,指向tomcat的目录,注意不带bin,就和配置JAVA_HOME一样。


    OK,现在搞定了,直接可以用startup指令了,我们前面已经知道了其实这个指令运行的就是catalina指令,我们直接敲上这个指令页面如下:



    OK,最后一步了,我们不想让启动和停止tomcat都在开一个窗口的话,我们就用Catalina run,Catalina stop就OK了。





  • 相关阅读:
    Hadoop开发者第四期
    改进型MapReduce
    MakeDirZ.bat
    Scan Type.txt
    获取当前目录所有文件名.bat
    subst文件夹映射到盘符
    MainApi
    创建dos命令窗口快捷方式的批处理
    Cheat Engine通关教程 (8关).txt
    获取当前目录所有文件名 并且保存为1个00000.txt的文件文件bat
  • 原文地址:https://www.cnblogs.com/LinkinPark/p/5233015.html
Copyright © 2020-2023  润新知