使用 Maven 将 WAR 项目上传到 Tomcat,而不提供“管理器应用程序”

Posted

技术标签:

【中文标题】使用 Maven 将 WAR 项目上传到 Tomcat,而不提供“管理器应用程序”【英文标题】:Uploading WAR project to Tomcat using Maven without providing the "manager app" 【发布时间】:2013-02-01 12:38:52 【问题描述】:

货物问题

使用 Maven,上传到服务器似乎是通过 Cargo 插件 或“Tomcat 插件”完成的。但似乎他们使用 Tomcat ma​​nager application 上传到服务器:

此链接:Maven: copy WAR to Tomcat's webapps directory,不提供上传方式,是复制(本地)包。 我不想在本地复制。想要上传到远程服务器。 这个:Deploying maven project into an existing Tomcat server,建议使用 Tomcat 插件。但我不想依赖管理器应用程序访问权限

只想上传文件

任何方式我只想拥有类似的东西:只需为插件提供对目标文件夹(通常是 $CATALINA_HOME/webapp)的 SFTP 访问,它只是将战争文件上传到目标。没有经理访问权限,没有类似的。其余部分由 Tomcat 中的 autodeploy 完成。

那么,解决办法是什么?

附: mvn delpoy 似乎不是一个解决方案,因为它说它是用于“存储库”而不是运行时。

【问题讨论】:

Maven copy local file to remote server using SSH的可能重复 【参考方案1】:

您可以使用maven-exec-plugin 来执行任何执行scp 的shell 脚本。

另一种解决方案,如果您熟悉 ant,则使用 maven-antrun-plugin 并让 ant 任务执行 scp

有用的链接:

exec-plugin antrun-plugin + scp

【讨论】:

感谢您提及 maven-exec-plugin。是的,这是可能的,但我一直在寻找更“专业”的解决方案。对我来说,在这里使用“exec”似乎更像是一种解决方法,而不是具体的解决方案。如果在合理的时间内没有提出更好的答案,我会接受。谢谢。

以上是关于使用 Maven 将 WAR 项目上传到 Tomcat,而不提供“管理器应用程序”的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Eclipse 将 Maven 项目的 WAR 部署到 JBoss 服务器?

如何将APP部署在阿里云服务器上?

如何将maven项目版本放入war文件清单中?

用Shell编写项目发布脚本

将JavaWeb项目打出war包并部署到tomcat

idea将maven项目打包成war包的方式,以及使用war包