您的位置:首页技术文章
文章详情页

java 通过cmd 调用命令启动tomcat的操作

浏览:2日期:2022-08-20 14:33:36

我们有时候为了方便,公司会做一个项目管理,便于启动和关闭我们部署在服务器上面的项目,我这里就采用了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目录的父目录下调用除外)

java 通过cmd 调用命令启动tomcat的操作

打开用于启动Tomcat的批处理文件startup.bat,首先判断CATALINA_HOME环境变量是否为空,如果为空,就将当前目录设为CATALINA_HOME的值。

接着判断当前目录下是否存在bincatalina.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:softwareapache-tomcat-8.5.24

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

java 通过cmd 调用命令启动tomcat的操作

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

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

补充知识:使用java命令执行bat文件(重启本地指定位置的Tomcat)

使用下面的代码执行指定位置的bat文件

public static void main(String[] args) { Runtime rt = Runtime.getRuntime(); //返回当前应用程序的Runtime对象 Process ps=null;//制子进程的执行或获取该子进程的信息 try { ps=rt.exec('cmd.exe /c start C:UsersqiangDesktoprestartTomct.bat');//这里的C:UsersqiangDesktoprestartTomct.bat 换成你自己的bat文件的绝对路径 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } int i=ps.exitValue(); if(i == 0){//执行成功 System.out.println('执行完成'); }else{//执行失败 System.out.println('执行失败'); } ps=null; }

=================================================bat文件的名称为 restartTomct.bat =================================================

@echo log location@echo 下面的c代表进入的是盘符c 下 ,也就是Tomcat所在盘符的位置,(需要修改为自己的盘符)c:@echo 进入Tomcat的bin目录 (需要修改为自己的Tomcat的bin目录的位置)cd C:UsersqiangDesktopapache-tomcat-7.0.53apache-tomcat-7.0.53bincall shutdown.bat@echo wait for 10 sec........ping -n 10 127.0.0.1call startup.batecho ----------- >> C:UsersqiangDesktopapache-tomcat-7.0.53tomcat_restart.logexit

以上这篇java 通过cmd 调用命令启动tomcat的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持好吧啦网。

标签: Java
相关文章: