无法使用Tomcat作为服务在前台运行cmd

时间:2016-03-18 12:48:25

标签: java batch-file tomcat cmd foreground

当我使用statup.bat运行Tomcat并运行我的xxx.bat文件时,我能够看到xxx.bat文件正在运行,它正在调用testNg,我可以看到所有测试用例正在运行。

但是当我将Tomcat作为服务运行时,我的xxx.bat文件开始执行其工作并开始执行测试用例,但它在后台运行。

问题是我想看到测试用例在前台运行。

我的代码是

String batPath = "D:\\Workspaces\\TestingWorkspace\\myproject\\runTestNg.bat";

String pojectRoot  = "D:\Workspaces\TestingWorkspace\myproject";

String path = "cmd /c start " + batPath + " " + projectRoot;

Process p = Runtime.getRuntime().exec(path);

p.waitFor();

2 个答案:

答案 0 :(得分:0)

您需要从流程中读取流。如果我没记错的话,有3个流。有错误流,输入和输出流。你需要得到它们,阅读它们并打印出来。

BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
    System.out.println(line);
}

答案 1 :(得分:0)

只需在cmd命令中使用 start ,然后按照chilltouch有关读取流的建议进行操作。