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

如何使用java代码启动和停止tomcat?,java,tomcat,Java,Tomcat,如何使用java代码启动和停止tomcat?您可以使用java执行本机命令 String command = "c:\program files\tomcat\bin\startup.bat";//for linux use .sh Process child = Runtime.getRuntime().exec(command); 您需要使用参数“start”执行org.apache.catalina.startup.Bootstrap的main方法 您还需要以下内容: 在类路径中有to

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

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

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

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

您还需要以下内容:

  • 在类路径中有
    tomcat/bin/bootstrap.jar
  • -Dcatalina.base
    指向
    $TOMCAT\u HOME
  • -Dcatalina.home
    指向
    $TOMCAT\u home
  • -Djava.io.tmpdir
    指向临时目录(通常
    $TOMCAT\u HOME/temp
我还设置了
-noverify
参数,不确定是否总是必要的


p、 如果您可以开始接受答案也很好,您的当前速率是0/28。

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

按步骤:

步骤1

按如下方式配置CATALINA_HOME/conf/server.xml:

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

对于使用java的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/

启动(和停止)嵌入式Tomcat。例如,如何做到这一点已经有很好的文档记录。

我也有同样的问题,上面的解决方案对我不起作用。我遵循了这个解决方案,虽然它停止了异常,但tomcat仍然没有启动:@dhaval那么异常是什么?您不启动“CATALINA_HOME环境变量定义不正确”的确切含义是什么?这是异常。使用“command.com/c”后,它会停止异常,但tomcat不会启动。您是否声明了
CATALINA_HOME
File File=new File(“tomcat bin的路径”)
processp=Runtime.getRuntime().exec(新字符串[]{“cmd.exe”、“/C”、“start”、“startup.bat的路径”、“start”},null,文件)此代码最终工作
-noverify
在类加载期间禁用检查。当您拥有庞大的web应用程序时,它会让Tomcat启动得更快,但会牺牲安全性。您是否可以更具体地使用参数“start”来指定org.apache.catalina.startup.Bootstrap的主要方法。我们怎么能做到呢。我在使用bootstrap启动tomcat时遇到了一个问题。jar@TanviGarg
Bootstrap
类具有
main(String[]args)
方法,并且必须将
start
参数传递到此
String
数组。通常这是通过shell脚本完成的,您必须模仿它。我可以使用java-jar bootstrap.jar start启动tomcat吗?这只会关闭服务器。同样,是否可以重新启动服务器?我在Eclipse上运行服务器,但它没有停止tomcat。是否可以在运行的WAR中执行该代码?我得到了一个“javax.management.InstanceNotFoundException:Catalina:type=Deployer,host=localhost”的代码
Runtime run = Runtime.getRuntime();
Process pr = run.exec("sh startup.sh", null, new File("filePath"));
filePathexample = /home/example/apache-tomcat-8.0.47/bin/