【问题标题】:start/stop tomcat using maven使用maven启动/停止tomcat
【发布时间】:2025-08-02 22:50:01
【问题描述】:

如何使用 maven 启动/停止远程 tomcat。我正在使用 cargo 插件,它可以帮助我部署应用程序,但不提供启动/停止远程 tomcat 的功能。

【问题讨论】:

    标签: maven-2 ant


    【解决方案1】:

    确实,您不能使用 Cargo 远程启动和停止运行 Tomcat,只能部署和取消部署您的 Web 应用程序。

    实际上,据我所知,目前没有允许开箱即用。

    正如here 解释的那样,当请求来自客户端“B”时,使服务器“A”启动或停止像 Tomcat 这样的服务的唯一方法是,另一个服务需要可用并且已经在运行在服务器“A”上。 [...],我不知道这样的服务是否可用。

    在这个message 中,有人正在描述这样一个解决方案(基于套接字侦听器),您可能会使用(通过通过 maven 进行一些 telnet)但该消息很旧,因此它可能已经过时并且指向的链接代码似乎已经死了。我没有检查整个线程,也许还有其他想法。

    如果您使用的是 Windows,远程服务共享是另一种可能的解决方案,如 here 所述。但是,同样,这需要您做一些工作。

    【讨论】:

      【解决方案2】:

      从安全的角度来看,只有这样才有可能......

      Linux:通过 SSH 客户端 (putty) 使用 SCP 或脚本,然后使用 '$CATALINA_HOME/bin/shutdown.sh'

      Windows:使用 sc 命令,例如“sc \192.168.10.10 stop tomcat6”

      又快又干净!

      【讨论】:

      • 您可以使用 ANT 轻松进行 SCP 和 SSH。只需使用 SCP 和 SSHExec 任务,就会很开心!
      【解决方案3】:

      您可以尝试使用maven tomcat plugin,或者如果它不能为您提供所需的一切,您可以随时使用 ant 任务,这里是 reference on the task

      【讨论】:

      • 看看链接就明白了。
      • 链接中没有关于启动/停止远程 tomcat 的任何内容
      【解决方案4】:

      您可以使用 Cargo Daemon 网络应用程序。它在远程机器上运行,可以为您启动/停止 tomcat(以及部署应用程序)。您只需要配置 Cargo 插件并调用 mvn:daemon-start。这是链接:http://cargo.codehaus.org/Cargo+Daemon。从提供的 Cargo Daemon 原型开始更容易:http://cargo.codehaus.org/Maven2+Archetypes#Maven2Archetypes-daemon

      【讨论】:

        【解决方案5】:

        试试这个useful Plugin

        然后试试这个:

        mvn tomcat:start
        

        mvn tomcat:stop
        

        【讨论】:

        • 这不会启动/停止 remote tomcat
        • 这个onyl启动和停止pom.xml中配置的应用程序,而不是服务器本身
        • 这仅适用于嵌入式选项,Maven 上的插件。效果很好,但如果您需要在 Tomcat 上进行复杂的配置,则不是一种选择。
        最近更新 更多