Java 包装器 class/library Tomcat 经理

Java wrapper class/library for Tomcat manager

我想知道 Tomcat 管理器应用程序是否有一个简单的包装器 class/library。我正在编写一个脚本来将我的 war 部署到 Tomcat 的远程实例(托管在 AWS 上)。

我知道我可以直接使用 HTTP 与管理器脚本接口通信,但我认为这将是一个普遍的问题,所以我不想重新发明轮子。我找到了一个 python 解决方案 here, and this question 谈论使用 curl,但是我找不到 java 解决方案(这很有趣, Tomcat 被 Java 使用开发人员,而不是 bash 开发人员!)有人能给我指出正确的方向吗?

我在 this answer 中找到了我需要的东西。我可以使用 Tomcat Ant 库。为此,我只需要项目依赖项中 $CATALINA_HOME/lib 中的 catalina-ant.jar

org.apache.catalina.ant.DeployTask task = new org.apache.catalina.ant.DeployTask();
task.setUrl("http://localhost:8084/manager");
task.setUsername("managerLogin");
task.setPassword("managerPassword");
task.setPath("/UrlToYourDeploadingProject");
task.setWar(new File("c:/Project.war").getAbsolutePath());
task.execute();