最近有个需求,就是需要用代码来启动tomcat。直接上代码:
public static void execCmd(String tomcatPath) {
String command = "";
// String command = "cmd /c D:\\workSoft\\apache-tomcat-8.0.53-9000\\bin\\startup.bat";
if ("linux".equals(getCurrentOperatingSystem())) {
command = "/bin/bash " + tomcatPath;
} else {
command = "cmd /c " + tomcatPath;
}
System.out.println(command);
Process exec = null;
BufferedReader in = null;
try {
exec = Runtime.getRuntime().exec(command);
System.out.println(exec.isAlive());
in = new BufferedReader(new InputStreamReader(exec.getInputStream()));
String line = null;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
in.close();
} catch (Exception e) {
System.out.println("报错");
}
int i = exec.exitValue();
if (i == 0) {
System.out.println("执行成功");
} else {
System.out.println("执行失败");
}
}
command: 就是需要执行的命令,这里需要注意,windows和linux下命令是不一样的。windows是startup.bat,linux下是startup.sh。
tomcatPath: tomcat所在启动脚本的绝对路径。