Tomcat startup.bat在Java代码中使用Process调用,这将创建一个新的CMD窗口,而我的其余Java代码将不会执行。我需要启动一个新线程来执行此操作吗?但即便如此,我仍然无法获得 br。
Runtime runtime = Runtime.getRuntime();
Process process;
BufferedReader br = null;
try {
process = runtime.exec(command);
runtime.gc();
String line = null;
String content = "";
br = new BufferedReader(new
InputStreamReader(process.getInputStream()));
while ((line = br.readLine()) != null) {
content += line + "rn";
}
System.out.println(content);
} catch (IOException e) {
System.out.println(e);
} finally {
if (br != null) {
br.close();
}
}
Tomcat的startup.bat
调用catalina.bat start
,这总是打开一个新窗口。
改为尝试catalina.bat run
,这将在当前窗口中启动 Tomcat。
更多细节可以在这里和这里找到。