部署的战争文件在Tomcat
-
02-07-2019 - |
题
有没有办法来部署鉴于战争的文件上载服务器?我想这样做没有使用网站界面。
解决方案
只需将war文件复制到$ TOMCAT_HOME / webapps /目录中即可。 Tomcat将通过自动爆炸来部署war文件。仅供参考 - 如果您愿意,可以直接对展开的目录进行更新,这对开发非常有用。
其他提示
有几种方法可部署一个Tomcat网络应用程序:
- 落入$CATALINA_HOME/webapp,正如已经提到的。
- 用你的建立脚本以部署自动通过管理接口(附带Tomcat).这里有两种方式
<property name="manager.url" value="http://localhost:8080/manager"/> <property name="manager.username" value="manager"/> <property name="manager.password" value="foobar"/> <!-- Task definitions --> <taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask"/> <taskdef name="list" classname="org.apache.catalina.ant.ListTask"/> <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask"/> <taskdef name="undeploy" classname="org.apache.catalina.ant.UndeployTask"/> <!-- goals --> <target name="install" depends="compile" description="Install application to servlet container"> <deploy url="${manager.url}" username="${manager.username}" password="${manager.password}" path="${app.path}" localWar="file://${build.home}"/> </target> <target name="list" description="List installed applications on servlet container"> <list url="${manager.url}" username="${manager.username}" password="${manager.password}"/> </target> <target name="reload" depends="compile" description="Reload application on servlet container"> <reload url="${manager.url}" username="${manager.username}" password="${manager.password}" path="${app.path}"/> </target> <target name="remove" description="Remove application on servlet container"> <undeploy url="${manager.url}" username="${manager.username}" password="${manager.password}" path="${app.path}"/> </target>
所有这些将需要有一个Tomcat用户配置。它生活 $CATALINA_BASE/conf/tomcat-users.xml
, 但既然你已经知道如何使用网络的界面,我假定你知道如何配置的用户和密码。
我们从不使用网络界面,不喜欢它。根据需要在webapps和server.xml中删除战争。如果编辑server.xml,则需要将其弹回,但应自动拾取war文件。我们通常首先删除从战争中扩展的目录,这样就不会混淆组件的来源。
您可以编辑conf / server.xml并添加指向您的war目录的条目
<Context path="/strutsDisplayTag"
reloadable="true"
docBase="C:\work\learn\jsp\strutsDisplayTag"
workDir="C:\work\learn\jsp\strutsDisplayTag\work" />
ELSE 您可以将.WAR文件复制到tomcat的webapps目录。
Tomcat Client Deployer Package 看起来就是从命令行部署到远程服务器所需的内容。从页面:
这是一个包,可用于验证,编译,压缩到.WAR,以及将Web应用程序部署到生产或开发Tomcat服务器。应该注意的是,此功能使用Tomcat Manager,因此目标Tomcat服务器应该正在运行。
您也可以尝试用于管理tomcat的命令行脚本,称为tomcat-manager。它需要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
不隶属于 StackOverflow