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. Javascript中遍历数组方法的性能对比

    Javascript中常见的遍历数组的方法 1.for循环 for(var i = 0; i < arr.length; i++) { // do something. } 2.for循环的改进 ...

  2. python将数据写入excel代码,python与office交互

    # -*- coding: utf-8 -*- from smartframe.header import * import pymysql import json import importlib, ...

  3. zz:linux下rz,sz的安装方法

    zz:http://xukaizijian.blog.163.com/blog/static/1704331192011611104631875/ wget http://ohse.de/uwe/re ...

  4. Go使用flag包开发命令行工具

    flag包是Go语言标准库提供用来解析命令行参数的包,使得开发命令行工具更为简单 常用方法 1.flag.Usage 输出使用方法,如linux下ls -h的帮助输出 2.flag.Type(参数名, ...

  5. 利用TortoiseGit对Coding项目进行版本管理

    Git配置: 1),首先去Git官网下载最新的Git,https://git-for-windows.github.io/ 2),下载对应的版本,然后一路next点击安装. Git与Coding联通 ...

  6. 找出生成json中的error_code,并加以处理

    需求: 前段时间调用了百度AI的分词接口,因为不完全支持并发,一些调用产生了错误,混在json内部. 现在需要将未调用成功的内容重新调用一遍. 思考过程: 方法一: 开始想到的是调用的过程当中,如果报 ...

  7. C# 构造函数总结

    构造函数 构造函数分为:实例构造函数,静态构造函数,私有构造函数. 实例构造函数 1.构造函数的名字与类名相同. 2.使用 new 表达式创建类的对象或者结构(例如int)时,会调用其构造函数.并且通 ...

  8. Django_自带的admin管理页面

    Django的admin管理页面非常的好用,接下来就简单的说一下: 首先当你在pycharm中启动django服务端程序之后,在浏览器中输入地址就可以访问 当你输入默认的admin页面,,会弹出来下边 ...

  9. List集合及新特性引用

    ArrayList就是动态数组,也是一个对象. 创建一个ArrayList对象,该对象存放在堆内存中,且是一个内存连续的内存区域. 1.ArrayList是用数组实现的,这个数组的内存是连续的,不存在 ...

  10. LibreOJ β Round #2 E. 数论只会 GCD

    传送门 题解 题解里面说得很清楚了. 大约就是单独考虑每个数的贡献,然后看一下每个序列里有多少区间是没有这个数的,乘起来就好了. 为了处理修改我们需要每个值建一棵线段树来搞,但是窝zz了,写了线段树套 ...