0

我正在尝试将战争文件部署到 Tomcat。我希望能够通过一个列出我的战争文件的网页来执行此操作,然后将我单击的文件扔到 Tomcat 服务器并部署它。

根据此处找到的文档,我应该能够做到这一点......

http://localhost:8080/manager/deploy?path=/footoo&war=file:/path/to/foo

其中 path=/footoo 是我要部署到的服务器上的路径,但 file 可以是 URL 吗?我似乎无法让它工作。

旁注:我可以使用 tomcat manager websevice 手动执行此操作,但我的项目的这一点是您可以从任何地方访问我的网站并进行部署,而无需直接访问服务器。

编辑 我认为我没有很好地提出这个问题,所以我投票删除它

4

2 回答 2

2

如果您阅读文档,它会说:

上传本次HTTP PUT请求中指定为请求数据的Web应用归档(WAR)文件,安装到我们对应虚拟主机的appBase目录下,使用目录名或者不带.war的war文件名启动扩展名作为路径。

所以,你需要的是一个 PUT 请求。

curl可以为您做到这一点:

curl --user script:script --upload-file /tmp/test.war http://localhost:8080/manager/deploy?path=/tester

这会以用户身份登录,script密码为script,并上传/tmp/test.war文件。当它到达 Tomcat 时,它会将其放入tester.war文件中,并将其部署为/tester.

如果您想通过实际的 Web 界面执行此操作,管理器应用程序也将执行此操作。您可以从浏览器中选择要部署的战争。

Tomcat 不会做的是在给定 URL 的情况下为您拉取文件。您需要将文件推送到服务器。

于 2013-05-02T05:37:53.823 回答
0

我认为该功能不存在。但是您可以构建一个系统,将战争上传到 tomcat 主机并调用管理器部署 URL

于 2013-05-02T03:14:23.847 回答