您的位置:首页 > 运维架构 > Tomcat

Tomcat--startup.bat文件

2015-06-22 23:03 489 查看
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%\bin\catalina.bat就跳转到okHome指令上
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
cd ..
set "CATALINA_HOME=%cd%"
cd "%CURRENT_DIR%"

:gotHome
//如果存在CATALINA_HOME%\bin\catalina.bat就跳转到okHome指令上
if exist "%CATALINA_HOME%\bin\catalina.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%\bin\catalina.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了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: