如何使用java代码启动和停止tomcat?

Chi*_*esh 8 java tomcat

如何使用java代码启动和停止tomcat?

Clo*_*oud 17

您可以将shutdown命令发送到关闭端口,这两个端口都可以在Tomcat的server.xml文件的根元素中配置.

按步骤:

步骤1

配置CATALINA_HOME/conf/server.xml如下:

<Server port="8005" shutdown="myShutDownCommand">
Run Code Online (Sandbox Code Playgroud)

属性端口是可选的.如果省略,则使用默认值8005.

shutdown属性的值可以是任何值.别人不应该知道这一点.

第2步

让java程序使用java.net.Socket类将关闭命令myShutDownCommand发送到关闭端口8005.

try { 
    Socket socket = new Socket("localhost", 8005); 
    if (socket.isConnected()) { 
        PrintWriter pw = new PrintWriter(socket.getOutputStream(), true); 
        pw.println("myShutDownCommand");//send shut down command 
        pw.close(); 
        socket.close(); 
    } 
} catch (Exception e) { 
    e.printStackTrace(); 
}
Run Code Online (Sandbox Code Playgroud)


min*_*das 13

您需要使用参数执行main方法.org.apache.catalina.startup.Bootstrap"start"

你还需要做以下事情:

  • tomcat/bin/bootstrap.jar在classpath;
  • -Dcatalina.base 指向 $TOMCAT_HOME
  • -Dcatalina.home 指向 $TOMCAT_HOME
  • -Djava.io.tmpdir指向临时目录(通常$TOMCAT_HOME/temp)

我也有-noverify参数设置,不确定是否总是必要的.

如果你能开始接受答案,你的当前比率是0/28也很好.


Jig*_*shi 9

您可以使用java执行本机命令

String command = "c:\program files\tomcat\bin\startup.bat";//for linux use .sh
Process child = Runtime.getRuntime().exec(command);
Run Code Online (Sandbox Code Playgroud)