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文件。
總結
以上所述是小編給大家介紹的Java開啟/關閉tomcat服務器的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!