© 版权声明:本文为博主原创文章,转载请注明出处

通过java代码实现Tomcat的开启与关闭

1.项目结构

2.CallTomcat.java

package com.calltomcat.test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader; public class CallTomcat { public static void main(String[] args) { //String command = "E:\\apache-tomcat-7.0.76\\bin\\startup.bat";//启动tomcat命令
//String command = "E:\\apache-tomcat-7.0.76\\bin\\tomcat7w.exe";//启动Tomcat命令,仅限windows版本,无弹框
String command = "E:\\apache-tomcat-7.0.76\\bin\\shutdown.bat";//关闭tomcat命令
CallTomcat callTomcat = new CallTomcat();
try {
callTomcat.callCommand(command);
} catch (IOException e) {
System.out.println("执行命令时出错:" + e.getMessage());
} } /**
* 执行命令
*
* @throws IOException
*/
private void callCommand(String command) throws IOException { Runtime runtime = Runtime.getRuntime();//返回与当前的Java应用相关的运行时对象
//指示Java虚拟机创建一个子进程执行指定的可执行程序,并返回与该子进程对应的Process对象实例
Process process = runtime.exec(command);
runtime.gc();//运行垃圾回收器
String line = null;
String content = "";
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
while((line = br.readLine()) != null) {
content += line + "\r\n";
}
System.out.println(content); } }

3.效果预览

  3.1 执行开启命令

  3.2 执行关闭命令

4.常见错误

  执行代码后可能出现:

The CATALINA_HOME environment variable is not defined correctly
This environment variable is needed to run this program

  此时需设置环境变量:

  本人设置后运行依然报错,但是将电脑注销一下再次运行即可。

5.说明

  若是执行startup.bat会自动出现弹框,但是若执行tomcat7w.exe(根据tomcat版本有所不同)则不会出现弹框。--仅windows版本,其他版本无.exe文件。

最新文章

  1. bash编程之多分支if 语句及for循环
  2. 推荐15款创建漂亮幻灯片的 jQuery 插件
  3. 我的Android第三章
  4. MySQL 如何修改字符集 utf8 改为 utf8mb4
  5. GitHub的使用(上)—— 创建和更新
  6. 如何将Android默认的Camra程序导入到eclipse中
  7. http status 源码
  8. Android内存优化之OOM
  9. [转载]github在线更改mysql表结构工具gh-ost
  10. 2017-06-22(locate shutdown half poweroff init0 reboot init 6)
  11. C# 日期时间
  12. creo5.0安装教程(图文详解)
  13. 2017-2018-2 20155225《网络对抗技术》实验五 MSF基础应用
  14. PPT高手必须树立的十个理念
  15. BZOJ1800_fly飞行棋_KEY
  16. 【Android开发日记】之基础篇(一)——TextView+SpannableStringBuilder
  17. C++中的RAII(转)
  18. python——SyntaxError:invalid syntax
  19. 杭电1708Fibonacci String
  20. 左右分栏页面右侧无法出现滚动条bug

热门文章

  1. set与map的区别
  2. 关于 gstreamer 和 webrtc 的结合,有点小突破
  3. 关于getSystemResource, getResource 的总结
  4. AC日记——[NOI2006]最大获利 bzoj 1497
  5. (5)ASP.NET HttpResponse 类
  6. 洛谷 P1563 玩具谜题【模拟/环】
  7. 浅谈.Net异步编程的前世今生----EAP篇
  8. delphi如何把一个整数转化为4个十六进制字节
  9. 【spring】spring的事务传播性 hibernate/jpa等的事务隔离性
  10. Android Studio和MAT结合使用来分析内存问题