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

时间:2011-03-10 05:50:25

标签: java tomcat

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

5 个答案:

答案 0 :(得分:15)

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

按步骤:

第1步

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

<Server port="8005" shutdown="myShutDownCommand">

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

shutdown属性的值可以是任何值。其他人不应该知道这一点。

第2步

让java程序使用java.net.Socket类将shutdown命令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(); 
}

答案 1 :(得分:13)

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

您还需要做以下事情:

  • 在您的类路径中包含tomcat/bin/bootstrap.jar;
  • -Dcatalina.base指向$TOMCAT_HOME
  • -Dcatalina.home指向$TOMCAT_HOME
  • -Djava.io.tmpdir指向临时目录(通常为$TOMCAT_HOME/temp

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

P.S。如果您可以开始接受答案,那么您当前的费率是0/28也很好。

答案 2 :(得分:7)

您可以使用java

执行本机命令
String command = "c:\program files\tomcat\bin\startup.bat";//for linux use .sh
Process child = Runtime.getRuntime().exec(command);

答案 3 :(得分:0)

对于Linux用户,请尝试以下操作:

Runtime run = Runtime.getRuntime();
Process pr = run.exec("sh startup.sh", null, new File("filePath"));
filePathexample = /home/example/apache-tomcat-8.0.47/bin/

答案 4 :(得分:0)

启动(和停止)嵌入式Tomcat。有关如何执行此操作的详细记录,例如here