java - 如何使用JAVA代码执行多个命令?

标签 java eclipse tomcat

我需要从 Java 代码重新启动 Tomcat 服务器。我是 Java 初学者。我尝试通过cmd来做到这一点。我需要停止 tomcat 然后重新启动它。我尝试这段代码。它仅适用于两个命令(一个 &&),如果我添加第三个命令(行 exec("cmd/c start cmd.exe ...) 中的两个 &&),它就不起作用.

PS:如果存在其他使用 Java 代码重新启动 Tomcat 的方法,请告诉我

public class restart_tomcat {

    public static void main(String[] args) throws SDKException, IOException {
        Runtime rt =  Runtime.getRuntime();

        try {
            // Process process1 = Runtime.getRuntime().exec("cmd /c start cmd.exe /K " + cmd1);
            rt.exec("cmd /c start cmd.exe /K \"cd C:\\\\Program Files (x86)\\\\SAP BusinessObjects\\\\tomcat\\\\bin&&startup.bat\"");
            System.out.println("succesful");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

最佳答案

很高兴知道为什么需要从 java 代码启动/停止 Tomcat,这是作业还是其他什么?在现实世界中,我们有初始化脚本,只需从终端运行它们即可启动/停止它。您可以使用非常简单的 shell 脚本 (yourscript.sh) 自动执行此操作并添加以下内容:

#!/bin/bash
<path_to_tomcat>/bin/shutdown.sh
<path_to_tomcat>/bin/startup.sh

如果您确实需要通过 Java 代码执行此操作,您可以在以下资源之一中找到答案:

关于java - 如何使用JAVA代码执行多个命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61034772/

相关文章:

java - 接口(interface)是否应该定义特定于实现的枚举值?

java - 在IJavaProject中查找main方法

tomcat - spring boot 1.4 登录外部tomcat

java - Hibernate/C3P0 没有正确关闭 MySQL 连接(在 mysql.err 上终止连接)

Java 反转 Switch 语句

eclipse - 尝试在 Eclipse 中构建 ScadaBR

mysql - 在centos tomcat上运行Spring Boot应用程序报错

java - 如何在 Docker 容器中热部署 Java EE 应用程序

java - Eclipse 项目错误

java - 空白窗口 JavaFX