在Tomcat上部署war文件
Posted
技术标签:
【中文标题】在Tomcat上部署war文件【英文标题】:Deployment of war file on Tomcat 【发布时间】:2010-09-13 15:23:23 【问题描述】:有没有办法在 Tomcat 服务器上部署给定的战争文件?我想在不使用网络界面的情况下执行此操作。
【问题讨论】:
【参考方案1】:有几种方法可以部署 Tomcat webapp:
如前所述,进入 $CATALINA_HOME/webapps。 使用构建脚本通过管理器界面(Tomcat 附带)自动部署。这里有两种方式 对于 Maven:使用 tomcat 插件。您不需要将它包含在pom.xml
中,只需发出目标mvn tomcat:deploy
,该插件包含在 Maven 2 中。这假设在 documentation 中解释了几个默认值,您可以在 configure @ 中的行为987654325@。还有其他目标可以让您部署为展开的存档等。
对于 Ant:类似这样:
所有这些都需要您拥有 Tomcat 用户配置。它位于$CATALINA_BASE/conf/tomcat-users.xml
,但由于您已经知道如何使用网络界面,我假设您知道如何配置用户和密码。
【讨论】:
嗨,我有一个类似的安装http://localhost:8080/manager/deploy?path=%2Feccount&war=file%3A%2F%2FC%3A%5Ceccount%2Fout%2FWAR-exploded
。虽然文件可通过网络浏览器在file:///C:/eccount/out/WAR-exploded
获得。我的tomcat版本是7.0.37。只需将 war 文件复制到 $TOMCAT_HOME/webapps/ 目录即可。 Tomcat 将通过自动分解来部署 war 文件。仅供参考 - 如果您愿意,可以直接对展开的目录进行更新,这对开发很有用。
【讨论】:
那么,我可以在服务器上的目录上运行 rsync --delete 吗? 如果我想手动部署一个已经存在的war
文件怎么办? (不使用自动部署功能)【参考方案3】:
我们从不使用网络界面,不喜欢它。战争被丢弃在 webapps 和 server.xml 中,根据需要进行编辑。如果您编辑 server.xml,则需要将其退回,但应自动获取 war 文件。我们通常先删除从战争中扩展的目录,这样就不会混淆组件的来源。
【讨论】:
因此,如果您将应用程序的新版本部署到 Tomcat,您首先要从 $TOMCAT_HOME/webapps/ 目录中删除应用程序的目录,对吗? Tomcat 会自动删除 .WAR 文件吗?【参考方案4】:您可以编辑 conf/server.xml 并添加一个像这样指向您的 war 目录的条目
<Context path="/strutsDisplayTag"
reloadable="true"
docBase="C:\work\learn\jsp\strutsDisplayTag"
workDir="C:\work\learn\jsp\strutsDisplayTag\work" />
否则 你可以将你的 .WAR 文件复制到 tomcat 的 webapps 目录中。
【讨论】:
【参考方案5】:Tomcat Client Deployer Package 看起来是您需要从命令行部署到远程服务器的内容。从页面:
这是一个包,可用于验证、编译、压缩为 .WAR,并将 Web 应用程序部署到生产或开发 Tomcat 服务器。需要注意的是,此功能使用 Tomcat 管理器,因此目标 Tomcat 服务器应该正在运行。
【讨论】:
【参考方案6】:你也可以试试这个叫做tomcat-manager的command-line script for managing tomcat。它需要 Python,并通过 HTTP 与包含在 tomcat 中的管理器应用程序对话。您可以从 *nix shell 执行以下操作:
$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager/ stop /myapp
和:
$ tomcat-manager --user=admin --password=newenglandclamchowder \
> http://localhost:8080/manager deploy /myapp ~/src/myapp/myapp.war
【讨论】:
以上是关于在Tomcat上部署war文件的主要内容,如果未能解决你的问题,请参考以下文章
Tomcat 在所有新部署的 WAR 文件上报告 404 错误?
在 tomcat 上部署 Spring Boot WAR 文件显示错误 404
Spring Boot War 文件部署在 Tomcat 上