java 通过cmd 调用命令启动tomcat

我们有时候为了方便,公司会做一个项目管理,便于启动和关闭我们部署在服务器上面的项目,我这里就采用了java的方式,嗯......仅限于参考......

public static void main(String args[]) throws IOException {
        String exec = "C:/software/apache-tomcat-8.5.24/bin/startup.bat";
        Runtime runtime = Runtime.getRuntime();
        runtime.exec(exec);
    }

如上所述,如果我们执行这段代码,那么我们的tomcat是启动不了的,我们用cmd试一下,请看下面,会出现错误信息,(在bin目录的父目录下调用除外)

打开用于启动Tomcat的批处理文件startup.bat,首先判断CATALINA_HOME环境变量是否为空,如果为空,就将当前目录设为CATALINA_HOME的值。接着判断当前目录下是否存在bin\catalina.bat,如果文件不存在,将当前目录的父目录设为CATALINA_HOME的值。根据Tomcat安装目录的层次结构,最后CATALINA_HOME的值被设为Tomcat的安装目录。如果环境变量CATALINA_HOME已经存在,则通过这个环境变量调用bin目录下的“catalina.bat start”命令。于是了解到两个信息,一是Tomcat启动时,需要查找CATALINA_HOME这个环境变量,如果在Tomcat的bin目录下调用startup.bat,Tomcat会自动并正确设置CATALINA_HOME;二是执行startup.bat命令,实际上执行的是“catalina.bat start”命令

如果要想在任意目录下都能启动Tomcat,就需要设置CATALINA_HOME环境变量,你可以将CATALINA_HOME添加到Windows 系统的环境变量中,其值就是Tomcat的安装目录。添加CATALINA_HOME环境变量的过程和前述添加JAVA_HOME环境变量的过程是一样的。如果你不想在系统的环境变量中添加,也可以直接在startup.bat文件中进行设置

set CATALINA_HOME=C:\software\apache-tomcat-8.5.24

我这里采用将 CATALINA_HOME 添加到 startup.bat 文件中,shutdown.bat 同理。如果找不准位置,可以将设置CATALINA_HOME环境变量的这句代码放到文件的第一行。

在这里设置后,不论是通过cmd在其它目录下启动还是通过java代码启动tomcat都将无比丝滑......

注意:如果将该java程序打成war包放在tomcat下运行,则无法通过该程序启动其他tomcat,原因暂时未知......当然,可将其打包成jar包通过cmd运行程序,直接裸奔,则程序可成功运行,打开其他的tomcat......

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值