gpt4 book ai didi

java - 从 Java 类中运行 Tomcat 服务器 - ProcessBuilder

转载 作者:行者123 更新时间:2023-11-28 23:23:14 24 4
gpt4 key购买 nike

我在尝试使用 Java 运行进程时遇到了问题。特别是尝试从我的 Java 应用程序中运行 tomcat 服务器。我花了数小时研究 stackoverflow 和 google 上的所有可用帖子,尝试了不同的解决方案,但对我没有任何帮助。本质上,我正在构建一个自动化测试工具,它允许在不同站点上运行测试。我已经使用 Process 和 ProcessBuilder 来为我执行这个任务。尝试调用 tomcat 服务器的三种方法如下所示:

public void convertCouncilNameToExecutableProcess(String councilName) {

System.out.println("In convert method");
if (councilName.equalsIgnoreCase("Manchester")) {
councilRunner = "claims_manchestertest";
runCouncilProcess(councilRunner);
} else if (councilName.equalsIgnoreCase("Coventry")) {
councilRunner = "claims_coventrytest";
runCouncilProcess(councilRunner);
}

}


private void runCouncilProcess(String councilName) {

try {
List<String> commandList = buildCommandList(councilName);
ProcessBuilder buildProcess = new ProcessBuilder(commandList);
buildProcess.start();
String output = IOUtils.toString(buildProcess.start().getInputStream());
System.out.println("In process method " + output);
System.out.println("Council: " + councilName + " is running successfully..");
} catch (IOException e) {
e.printStackTrace();
}
}


private List<String> buildCommandList(String councilName) {
List<String> command = new ArrayList<String>();
command.add("sudo");
command.add("/opt");
command.add("/" + councilName);
command.add("/tomcat");
command.add("/bin");
command.add("/becs_tomcat");
command.add(" console");
return command;

}

由于我们有多个委员会要合作,因此代码需要根据要测试的站点来区分应该运行哪个 tomcat...

代码运行后输出如下:

manchester
In convert method
In process method
Council: claims_manchestertest is running successfully..

每个方法都被执行,告诉我代码被命中但没有正确运行...

然后我检查我的终端以查看 tomcat 服务器是否已通过以下方式初始化:

ps -ax Tomcat

但是,没有运行tomcat实例!?

求助!如果您需要更多信息,请问我。谢谢。

最佳答案

关于java - 从 Java 类中运行 Tomcat 服务器 - ProcessBuilder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40340531/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com