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了。



Tomcat--startup.bat文件的更多相关文章

  1. 关于tomcat startup.bat启动后一闪而过的问题(转)

    1.如果双击startup.bat,窗口一闪而过,可以在命令行里面启动startup.bat:  2.如果命令行里面启动startup.bat情况还是这样,就可以在bat命令后面加上pause.这样就 ...

  2. 制作tomcat重启.bat文件

    环境是在windows下,linux不知道,没有尝试过,有机会去试试哈哈 首先创建一个restart.bat文件 创建在哪里看你开心咯 然后用记事本打开 输入以下源代码: @echo off cd / ...

  3. 更改Tomcat startup.bat启动窗口名称

    通常在Tomcat bin目录下用startup.bat启动Tomcat ,启动窗口显示的Title是Tomcat 如果遇到一个服务器上多个Tomcat的话就会容易混淆.更改方法如下: 1 在bin目 ...

  4. exception tomcat startup.bat 闪退

    解决方案: startup.bat,右击->编辑,在文件头加入下面两行: SET JAVA_HOME=D:\Java\jdk1.7 (java jdk目录) SET TOMCAT_HOME=E: ...

  5. tomcat安装启动startup.bat文件命令行界面出现乱码的问题解决

    进入tomcat安装界面,进入conf文件夹,找打logging.properties,打开进行编辑,在最后添加一句 java.util.logging.ConsoleHandler.encoding ...

  6. Tomcat startup.bat启动隐藏弹出的信息窗口

    to make tomcat to use javaw.exe instead of java.exe using some startup parameter or environment vari ...

  7. 最实用解决tomcat startup.bat 一闪而过

    1.直接到tomcat 的解压路径中找到log日志,eg:D:\tomcat\apache-tomcat-7.0.73\logs 查看 catalina 这个日志文件,可以清除的定位错误原因:一般可能 ...

  8. tomcat startup.bat 启动中文显示乱码

    打开tomcat文件夹到conf目录下 修改logging.properties 找到 java.util.logging.ConsoleHandler.encoding = utf-8这行 更改为 ...

  9. windows下修改tomcat的startup.bat脚本文件后台运行

    1.修改startup.bat文件 rem Get remaining unshifted command line arguments and save them in the set CMD_LI ...

  10. 启动tomcat的 startup.bat屏幕一闪而过

    有时启动tomcat 时,屏幕一闪而过,看不到是那里有问题.要想让屏幕停下来,做法如下: 1.打开 startup.bat 文件,在文件最后加上最后加一行@pause 2.重新运行 startup.b ...

随机推荐

  1. vue+Element实现静态旅游网站

    页面效果: 1.用vue脚手架:vue-cli,新建一个vue项目. 2.npm run dev后,给小颖了一句提示:Your application is running here:http://l ...

  2. win10 uwp 横向 AppBarButton

    一般看到的 AppBarButton 都是图片在上面,文字在下面,是否可以更改让文字在和图片相同的位置?本文告诉大家如何做出横向的 AppBarButton 把图标和文本放在一起. 如果需要添加 Ap ...

  3. js中var,let,const理解

    var变量提升: 解释:在声明a之前输出a,因为a是使用var声明变量得到提升,解释为下句 var a: console.log(a) a = 1; var声明会提到最上面的位置,但是赋值的位置还是当 ...

  4. 迭代器中next()的用法

    >>> g = (x ** 2 for x in range(10)) >>> next(g) 0 >>> next(g) 1 >>& ...

  5. C# 获取当前方法的名称空间、类名和方法名称

    1.(new StackTrace()).GetFrame(1) // 0为本身的方法:1为调用方法2.(new StackTrace()).GetFrame(1).GetMethod().Name; ...

  6. Codeforces 777B Game of Credit Cards

    B. Game of Credit Cards time limit per test:2 seconds memory limit per test:256 megabytes input:stan ...

  7. 让两个数x,y一直保持互质的模版

    int gcd(int x,int y) { )return x; else return gcd(y,x%y); }

  8. hackerrank 训练军队

    高阶传送魔法 在神奇的Kasukabe国家,人们努力拥有一个技能.一共有N个类型的技能,并且开始的时候拥有第 i 种技能的人有Ci个 . 这个国家有T个巫师,他们有能力将一个人的技能进行转换.每个巫师 ...

  9. bzoj:1681 [Usaco2005 Mar]Checking an Alibi 不在场的证明

    Description A crime has been comitted: a load of grain has been taken from the barn by one of FJ's c ...

  10. 【Java学习笔记之五】java数组详解

    数组 概念 同一种类型数据的集合.其实数组就是一个容器. 数组的好处 可以自动给数组中的元素从0开始编号,方便操作这些元素. 格式1: 元素类型[] 数组名 = new 元素类型[元素个数或数组长度] ...