从 Tomcat 中的另一个 war 开始 .war 文件 8

Starting .war file from another war in Tomcat 8

有没有办法从另一个 .war 中 start/stop .war 文件?

我是 运行 SymmetricDS 服务器,使用 Tomcat 8(它部署了它自己的 .war),我需要启动它,当按下一个按钮时,同样停止。我可以这样做吗?

当 war 文件 "dropped" 进入 Tomcat 的 webapp 文件夹时,默认情况下 Tomcat 会自动部署并启动它。当从 webapp 文件夹中删除源 war 文件时,Tomcat 会自动停止并取消部署 Web 应用程序。

所以基本上您需要做的就是将 war 文件 to/from 和 webapp 文件夹复制并删除到 start/stop 网络应用程序。

此外(或者如果你不能这样做)Tomcat 有一个内置的管理器 web 应用程序,它能够部署新的应用程序(来自 war 文件),或者停止和取消部署 运行 个 Web 应用程序。
有关详细信息,请参阅 Manager App HOW-TO

如果您想从您的代码中执行此操作,请查看 ManagerServlet class。您可以使用简单的 URL 和参数调用它。 class 的 javadoc 包含您可以使用它做什么的示例 URL。以下是专门针对您的需求的 2 个重要操作:

  • /start?path=/xxx - 启动附加到此虚拟主机的上下文路径 /xxx 的 Web 应用程序。
  • /stop?path=/xxx - 停止附加到此虚拟主机的上下文路径 /xxx 的 Web 应用程序。